0 txs
381 calls
constructor
No constructor.
functions
getAccountValue
viewfunction getAccountValue(address account, address priceShapshotAddr, address gnsMultiCollatDiamondAddr, address gnsTradingCommonUtilsAddr) view returns (uint256)
getAccountValueNormX
viewfunction getAccountValueNormX(address account, address priceShapshotAddr, address gnsMultiCollatDiamondAddr, address gnsTradingCommonUtilsAddr, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isInv, bool isExternalPriceX) view returns (uint256)
getFixedSpreadP
purefunction getFixedSpreadP(uint256 _spreadP, bool _long, bool _open) pure returns (int256)
getLiqPnlThresholdP
purefunction getLiqPnlThresholdP(tuple _params, uint256 _leverage) pure returns (uint256)
getPositionSizeCollateral
purefunction getPositionSizeCollateral(uint120 _collateralAmount, uint24 _leverage) pure returns (uint256)
getPriceAfterImpact
purefunction getPriceAfterImpact(uint256 _oraclePrice, int256 _totalPriceImpactP) pure returns (uint64)
getTradeLiqPnlThresholdP
viewfunction getTradeLiqPnlThresholdP(tuple _trade, address gnsMultiCollatDiamondAddr) view returns (uint256)
getTradeValue
viewfunction getTradeValue(address account, uint32 tradeIdx, address priceShapshotAddr, address gnsMultiCollatDiamondAddr, address gnsTradingCommonUtilsAddr) view returns (uint256)
getTradeValueNormX
viewfunction getTradeValueNormX(address account, uint32 tradeIdx, address priceShapshotAddr, address gnsMultiCollatDiamondAddr, address gnsTradingCommonUtilsAddr, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isToken0, bool isInv, bool isExternalPriceX) view returns (uint256)
getTradeValuePure
purefunction getTradeValuePure(uint256 _collateral, int256 _percentProfit, int256 _feesCollateral, uint128 _collateralPrecisionDelta, uint256 _liqPnlThresholdP) pure returns (uint256)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b506120d7806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063b65bd14c11610066578063b65bd14c14610115578063c0e7777e14610128578063cb1871bb1461013b578063ced03eaf1461014e578063feec5b5b1461017957600080fd5b8063154bb2be146100a3578063326650e1146100c95780633d89fe8b146100dc57806343691761146100ef5780636275fc5c14610102575b600080fd5b6100b66100b1366004611216565b61018c565b6040519081526020015b60405180910390f35b6100b66100d73660046113f2565b6101c6565b6100b66100ea366004611583565b610259565b6100b66100fd366004611684565b6103bc565b6100b6610110366004611716565b610475565b6100b66101233660046117fc565b61068e565b6100b6610136366004611845565b610750565b6100b66101493660046118b6565b610d6a565b61016161015c366004611912565b610e45565b6040516001600160401b0390911681526020016100c0565b6100b6610187366004611934565b610e78565b6000610199600285611999565b9350816101a4579115915b826101b1576000196101b4565b60015b6101be90856119ad565b949350505050565b815160208301516040516328dc892f60e01b8152600092610250926001600160a01b038616926328dc892f926102009290916004016119dd565b60a060405180830381865afa15801561021d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102419190611a07565b846060015162ffffff166103bc565b90505b92915050565b6000806102698e8e8e8e8e610750565b9050821561038a576102796110dd565b896001600160a01b03168989604051610293929190611a81565b600060405180830381855afa9150503d80600081146102ce576040519150601f19603f3d011682016040523d82523d6000602084013e6102d3565b606091505b50602083015215158082526001146103065760405162461bcd60e51b81526004016102fd90611a91565b60405180910390fd5b60008160200151511161032b5760405162461bcd60e51b81526004016102fd90611ac4565b84156103665780602001518060200190518101906103499190611afb565b6103538389611b14565b61035d9190611999565b925050506103ac565b868282602001518060200190518101906103809190611afb565b6103539190611b14565b83156103a25761039a8187611b14565b9150506103ac565b61039a8682611999565b9c9b505050505050505050505050565b6000826060015162ffffff1682116103e05750602082015164ffffffffff16610253565b826080015162ffffff1682106104025750604082015164ffffffffff16610253565b826060015183608001516104169190611b2b565b62ffffff168360400151846020015161042f9190611b4e565b64ffffffffff16846060015162ffffff168461044b9190611b6c565b6104559190611b14565b61045f9190611999565b836020015164ffffffffff166102509190611b6c565b600061047f6110dd565b60405163012feb5f60e61b81526001600160a01b038d811660048301528b1690634bfad7c090602401600060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104ed9190810190611cfa565b60608201526000805b826060015151811015610545576105318e8460600151838151811061051d5761051d611daa565b6020026020010151602001518f8f8f610750565b61053b9083611dc0565b91506001016104f6565b50831561065d576105546110dd565b896001600160a01b0316898960405161056e929190611a81565b600060405180830381855afa9150503d80600081146105a9576040519150601f19603f3d011682016040523d82523d6000602084013e6105ae565b606091505b50602083015215158082526001146105d85760405162461bcd60e51b81526004016102fd90611a91565b6000816020015151116105fd5760405162461bcd60e51b81526004016102fd90611ac4565b851561063957806020015180602001905181019061061b9190611afb565b6106258389611b14565b61062f9190611999565b9350505050610680565b868282602001518060200190518101906106539190611afb565b6106259190611b14565b84156106765761066d8187611b14565b92505050610680565b61066d8682611999565b9a9950505050505050505050565b60006001600160801b03831681858260646402540be4008a6106b0848e6119ad565b6106ba91906119ad565b6106c49190611dd3565b6106ce9190611dd3565b6106d8858c6119ad565b6106e29190611e01565b6106ec9190611dd3565b6106f69190611e29565b905060006402540be40060646107118764e8d4a51000611b6c565b61071b908c611b14565b6107259190611999565b61072f9190611999565b905080821361073f576000610741565b815b93505050505b95945050505050565b600061075a6110dd565b6040516315878e0760e01b81526001600160a01b038516906315878e0790610788908a908a906004016119dd565b6101e060405180830381865afa1580156107a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ca9190611e49565b6040820181905260a001516107e3576000915050610747565b60408181015160c00151905163bb33a55b60e01b815260ff90911660048201526001600160a01b0385169063bb33a55b9060240160a060405180830381865afa158015610834573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108589190611e66565b608001516001600160801b0316610100820152604080820151810151905163fc72842360e01b815261ffff90911660048201526000906001600160a01b0387169063fc728423906024016040805180830381865afa1580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190611ee4565b6040808401515190516375cd812d60e01b81529192506001600160a01b038716916375cd812d91610917918b906004016119dd565b61012060405180830381865afa158015610935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109599190611f58565b608083015260408083015160c0810151610100909101519151635dd6a08d60e11b815260ff90911660048201526001600160781b0390911660248201526000906001600160a01b0387169063bbad411a90604401602060405180830381865afa1580156109ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee9190611afb565b604084810151805190820151915163d6bfb05560e01b81526001600160a01b03918216600482015261ffff9092166024830152919250610a859188169063d6bfb05590604401602060405180830381865afa158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a759190611afb565b846040015160800151600061018c565b60a0840152604080840151808201516080918201519186015160e001519251633480ea2160e11b81526001600160a01b038d8116600483015261ffff909216602482015291151560448301526064820184905260006084830181905260a483015263ffffffff90921660c482015290871690636901d4429060e401602060405180830381865afa158015610b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b419190611afb565b60c08401819052825160a0850151600092610b6a926001600160801b03169161015c9190611e01565b6001600160401b031690506000818561010001516001600160801b0316610ba287604001516101000151886040015160600151610e78565b610bac9190611b14565b610bbb906402540be400611b14565b610bc59190611999565b60408681015160c081015181830151608090920151925163b848280560e01b815260ff909116600482015261ffff90911660248201529015156044820152606481018290526000608482018190529192506001600160a01b038a169063b84828059060a401602060405180830381865afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b9190611afb565b90506000610c9f86600001516001600160801b0316838960c001518a60a00151610c959190611e01565b61015c9190611e01565b6040888101516101208101516080820151606090920151925163b19962e560e01b81526001600160401b039182166004820152931660248401819052901515604484015262ffffff909116606483015291506001600160a01b038a169063b19962e590608401602060405180830381865afa158015610d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d469190611afb565b60e08801528551610d599088908c610e9f565b9d9c50505050505050505050505050565b6000610d746110dd565b60405163012feb5f60e61b81526001600160a01b038781166004830152851690634bfad7c090602401600060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610de29190810190611cfa565b60608201526000805b826060015151811015610e3a57610e268884606001518381518110610e1257610e12611daa565b602002602001015160200151898989610750565b610e309083611dc0565b9150600101610deb565b509695505050505050565b60008060646402540be400610e5a85876119ad565b610e649190611dd3565b610e6e9190611dd3565b6101be9085611e01565b60006103e8610e9562ffffff84166001600160781b038616611b14565b6102509190611999565b600080610eac858461101f565b6040868101518051602090910151915163668cdc3160e01b81526001600160a01b03918216600482015263ffffffff90921660248301526001600160401b038716604483015291925060009185169063668cdc3190606401608060405180830381865afa158015610f21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f45919061200e565b604080880151805160209091015191516358af5c1160e11b81529293506000926001600160a01b0388169263b15eb82292610f85929091906004016119dd565b606060405180830381865afa158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190612073565b92505050611014876040015161010001516001600160781b03168860e0015183856060015187610ff69190611e01565b6110009190611e29565b8a61010001516101238c604001518b6101c6565b979650505050505050565b60008061103d84604001516101000151856040015160600151610e78565b6040808601518101519051636493da5b60e11b815261ffff90911660048201529091506064906402540be400906001600160a01b0386169063c927b4b690602401602060405180830381865afa15801561109b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf9190611afb565b6110c99084611b14565b6110d39190611999565b6101be9190611999565b6040805161012081018252600081526060602082015290810161116f604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529060e0820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b8152602001606081526020016111ca6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c0820190815260006020820181905260409091015290565b815260200160008152602001600081526020016000815260200160006001600160801b031681525090565b801515811461120357600080fd5b50565b8035611211816111f5565b919050565b60008060006060848603121561122b57600080fd5b83359250602084013561123d816111f5565b9150604084013561124d816111f5565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b6040516101e081016001600160401b038111828210171561129157611291611258565b60405290565b60405160a081016001600160401b038111828210171561129157611291611258565b60405161012081016001600160401b038111828210171561129157611291611258565b604051601f8201601f191681016001600160401b038111828210171561130457611304611258565b604052919050565b6001600160a01b038116811461120357600080fd5b80356112118161130c565b63ffffffff8116811461120357600080fd5b80356112118161132c565b61ffff8116811461120357600080fd5b803561121181611349565b62ffffff8116811461120357600080fd5b803561121181611364565b60ff8116811461120357600080fd5b803561121181611380565b6003811061120357600080fd5b80356112118161139a565b6001600160781b038116811461120357600080fd5b8035611211816113b2565b6001600160401b038116811461120357600080fd5b8035611211816113d2565b60008082840361020081121561140757600080fd5b6101e08082121561141757600080fd5b61141f61126e565b915061142a85611321565b82526114386020860161133e565b602083015261144960408601611359565b604083015261145a60608601611375565b606083015261146b60808601611206565b608083015261147c60a08601611206565b60a083015261148d60c0860161138f565b60c083015261149e60e086016113a7565b60e08301526101006114b18187016113c7565b908301526101206114c38682016113e7565b908301526101406114d58682016113e7565b908301526101606114e78682016113e7565b908301526101806114f9868201611206565b908301526101a061150b868201611321565b908301526101c061151d868201611375565b8184015250819350611530818601611321565b925050509250929050565b60008083601f84011261154d57600080fd5b5081356001600160401b0381111561156457600080fd5b60208301915083602082850101111561157c57600080fd5b9250929050565b6000806000806000806000806000806000806101608d8f0312156115a657600080fd5b6115b08d3561130c565b8c359b506115c160208e013561132c565b60208d01359a506115d460408e01611321565b99506115e260608e01611321565b98506115f060808e01611321565b97506115fe60a08e01611321565b96506001600160401b0360c08e0135111561161857600080fd5b6116288e60c08f01358f0161153b565b909650945060e08d013593506116416101008e01611206565b92506116506101208e01611206565b915061165f6101408e01611206565b90509295989b509295989b509295989b565b64ffffffffff8116811461120357600080fd5b60008082840360c081121561169857600080fd5b60a08112156116a657600080fd5b506116af611297565b83356116ba81611671565b815260208401356116ca81611671565b602082015260408401356116dd81611671565b604082015260608401356116f081611364565b6060820152608084013561170381611364565b60808201529460a0939093013593505050565b6000806000806000806000806000806101208b8d03121561173657600080fd5b8a356117418161130c565b995060208b01356117518161130c565b985060408b01356117618161130c565b975060608b01356117718161130c565b965060808b01356117818161130c565b955060a08b01356001600160401b0381111561179c57600080fd5b6117a88d828e0161153b565b90965094505060c08b0135925060e08b01356117c3816111f5565b91506101008b01356117d4816111f5565b809150509295989b9194979a5092959850565b6001600160801b038116811461120357600080fd5b600080600080600060a0868803121561181457600080fd5b8535945060208601359350604086013592506060860135611834816117e7565b949793965091946080013592915050565b600080600080600060a0868803121561185d57600080fd5b85356118688161130c565b945060208601356118788161132c565b935060408601356118888161130c565b925060608601356118988161130c565b915060808601356118a88161130c565b809150509295509295909350565b600080600080608085870312156118cc57600080fd5b84356118d78161130c565b935060208501356118e78161130c565b925060408501356118f78161130c565b915060608501356119078161130c565b939692955090935050565b6000806040838503121561192557600080fd5b50508035926020909101359150565b6000806040838503121561194757600080fd5b8235611952816113b2565b9150602083013561196281611364565b809150509250929050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826119a8576119a861196d565b500490565b80820260008212600160ff1b841416156119c9576119c9611983565b818105831482151761025357610253611983565b6001600160a01b0392909216825263ffffffff16602082015260400190565b805161121181611364565b600060a08284031215611a1957600080fd5b611a21611297565b8251611a2c81611671565b81526020830151611a3c81611671565b60208201526040830151611a4f81611671565b60408201526060830151611a6281611364565b60608201526080830151611a7581611364565b60808201529392505050565b8183823760009101908152919050565b602080825260199082015278195e1d195c9b985b141c9a58d95610d85b1b0819985a5b1959603a1b604082015260600190565b6020808252601b908201527f6261642065787465726e616c50726963655843616c6c20646174610000000000604082015260600190565b600060208284031215611b0d57600080fd5b5051919050565b808202811582820484141761025357610253611983565b62ffffff828116828216039080821115611b4757611b47611983565b5092915050565b64ffffffffff828116828216039080821115611b4757611b47611983565b8181038181111561025357610253611983565b80516112118161130c565b80516112118161132c565b805161121181611349565b8051611211816111f5565b805161121181611380565b80516112118161139a565b8051611211816113b2565b8051611211816113d2565b60006101e08284031215611bea57600080fd5b611bf261126e565b9050611bfd82611b7f565b8152611c0b60208301611b8a565b6020820152611c1c60408301611b95565b6040820152611c2d606083016119fc565b6060820152611c3e60808301611ba0565b6080820152611c4f60a08301611ba0565b60a0820152611c6060c08301611bab565b60c0820152611c7160e08301611bb6565b60e0820152610100611c84818401611bc1565b90820152610120611c96838201611bcc565b90820152610140611ca8838201611bcc565b90820152610160611cba838201611bcc565b90820152610180611ccc838201611ba0565b908201526101a0611cde838201611b7f565b908201526101c0611cf08382016119fc565b9082015292915050565b60006020808385031215611d0d57600080fd5b82516001600160401b0380821115611d2457600080fd5b818501915085601f830112611d3857600080fd5b815181811115611d4a57611d4a611258565b611d58848260051b016112dc565b81815284810192506101e0918202840185019188831115611d7857600080fd5b938501935b82851015611d9e57611d8f8986611bd7565b84529384019392850192611d7d565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b8082018082111561025357610253611983565b600082611de257611de261196d565b600160ff1b821460001984141615611dfc57611dfc611983565b500590565b8082018281126000831280158216821582161715611e2157611e21611983565b505092915050565b8181036000831280158383131683831282161715611b4757611b47611983565b60006101e08284031215611e5c57600080fd5b6102508383611bd7565b600060a08284031215611e7857600080fd5b611e80611297565b8251611e8b8161130c565b81526020830151611e9b816111f5565b602082015260408301516affffffffffffffffffffff81168114611ebe57600080fd5b60408201526060830151611ed1816117e7565b60608201526080830151611a75816117e7565b600060408284031215611ef657600080fd5b604051604081018181106001600160401b0382111715611f1857611f18611258565b6040528251611f26816117e7565b81526020830151611f36816117e7565b60208201529392505050565b805165ffffffffffff8116811461121157600080fd5b60006101208284031215611f6b57600080fd5b611f736112b9565b611f7c83611b8a565b8152611f8a60208401611b8a565b6020820152611f9b60408401611b8a565b6040820152611fac60608401611b95565b6060820152611fbd60808401611f42565b6080820152611fce60a08401611f42565b60a0820152611fdf60c08401611bb6565b60c0820152611ff060e08401611b8a565b60e0820152610100612003818501611bab565b908201529392505050565b60006080828403121561202057600080fd5b604051608081018181106001600160401b038211171561204257612042611258565b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b60008060006060848603121561208857600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ccd1773735b0c468d462910aceabfcfa321c377b7b272a7de14459123d1f1b6164736f6c63430008180033