0 txs
0 calls
constructor
No constructor.
functions
ETH_USD_PRICE_ORACLE
viewfunction ETH_USD_PRICE_ORACLE() view returns (address)
FEE_RECEIVER
viewfunction FEE_RECEIVER() view returns (address)
getPosition
viewfunction getPosition(address usersGmxProxy, bool isLong) view returns (uint256[])
GMX_POSITION_ROUTER
viewfunction GMX_POSITION_ROUTER() view returns (address)
GMX_READER
viewfunction GMX_READER() view returns (address)
GMX_ROUTER
viewfunction GMX_ROUTER() view returns (address)
GMX_VAULT
viewfunction GMX_VAULT() view returns (address)
LEVERAGE
viewfunction LEVERAGE() view returns (uint256)
owner
viewfunction owner() view returns (address)
PROJECT_FEE_PERCENTRAGE
viewfunction PROJECT_FEE_PERCENTRAGE() view returns (uint256)
REF_CODE
viewfunction REF_CODE() view returns (bytes32)
requestIds
viewfunction requestIds(bytes32) view returns (address maker, bool isConfirmed, bool isOpenRequest, bool isLong, uint256 sizeDelta)
SLIPPAGE
viewfunction SLIPPAGE() view returns (uint256)
USDC
viewfunction USDC() view returns (address)
vault
viewfunction vault() view returns (address)
WETH
viewfunction WETH() view returns (address)
approvePositionRouterPlugin
nonpayablefunction approvePositionRouterPlugin()
closeAllPositions
payablefunction closeAllPositions(address taker) payable
closePosition
payablefunction closePosition(address taker, bool isLong) payable
gmxPositionCallback
nonpayablefunction gmxPositionCallback(bytes32 positionKey, bool isExecuted, bool isIncrease)
initialize
nonpayablefunction initialize(address _vault)
openX20Long
payablefunction openX20Long(address maker) payable returns (bytes32)
openX20Short
payablefunction openX20Short(address maker) payable returns (bytes32)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
CancelRequestCreated
event CancelRequestCreated(bytes32 reqId)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RequestCreated
event RequestCreated(bytes32 reqId)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50612154806100206000396000f3fe60806040526004361061016a5760003560e01c80638da5cb5b116100d1578063d3e78e4d1161008a578063edf3daec11610064578063edf3daec1461049b578063f2fde38b146104bb578063fbfa77cf146104db578063ff7ebbf21461036a57600080fd5b8063d3e78e4d14610438578063e4b6d6db14610460578063e60724e31461047357600080fd5b80638da5cb5b1461037f578063ad5c46481461039d578063ae494f63146103c5578063be31302a146103d8578063c4d66de8146103eb578063c968b70e1461040b57600080fd5b8063562a97e511610123578063562a97e514610245578063715018a61461026d5780637e36c6fc146102825780638645f7a8146102aa57806389a30271146103425780638d01f0ba1461036a57600080fd5b80630bc7040414610176578063139dbe6c1461018b5780631ea21f1f146101d05780632db9f59a146101f357806336b4134a1461021b57806347f5d7101461023057600080fd5b3661017157005b600080fd5b610189610184366004611b62565b6104fb565b005b34801561019757600080fd5b506101b373b87a436b93ffe9d75c5cfa7bacfff96430b0986881565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101dc57600080fd5b506101e5600081565b6040519081526020016101c7565b3480156101ff57600080fd5b506101b373489ee077994b6658eafa855c308275ead8097c4a81565b34801561022757600080fd5b506101e5600681565b34801561023c57600080fd5b506101896105eb565b34801561025157600080fd5b506101b373abbc5f99639c9b6bcb58544ddf04efa6802f406481565b34801561027957600080fd5b50610189610665565b34801561028e57600080fd5b506101b37322199a49a999c351ef7927602cfb187ec3cae48981565b3480156102b657600080fd5b5061030a6102c5366004611b7d565b609760205260009081526040902080546001909101546001600160a01b0382169160ff600160a01b8204811692600160a81b8304821692600160b01b90049091169085565b604080516001600160a01b0390961686529315156020860152911515928401929092529015156060830152608082015260a0016101c7565b34801561034e57600080fd5b506101b373ff970a61a04b1ca14834a43f5de4533ebddb5cc881565b34801561037657600080fd5b506101e5600a81565b34801561038b57600080fd5b506033546001600160a01b03166101b3565b3480156103a957600080fd5b506101b37382af49447d8a07e3bd95bd0d56f35241523fbab181565b6101e56103d3366004611b62565b610679565b6101896103e6366004611ba4565b6106b9565b3480156103f757600080fd5b50610189610406366004611b62565b610775565b34801561041757600080fd5b5061042b610426366004611ba4565b6108a1565b6040516101c79190611bdb565b34801561044457600080fd5b506101b373ce03b880634ebd9bd0f6974ccf430eded3a8363f81565b6101e561046e366004611b62565b61096a565b34801561047f57600080fd5b506101b373639fe6ab55c921f74e7fac1ee960c0b6293ba61281565b3480156104a757600080fd5b506101896104b6366004611c1f565b6109a2565b3480156104c757600080fd5b506101896104d6366004611b62565b610b0c565b3480156104e757600080fd5b506099546101b3906001600160a01b031681565b6099546001600160a01b0316331461052e5760405162461bcd60e51b815260040161052590611c61565b60405180910390fd5b6000610538610b85565b905034610546826002611c97565b116105b25761055782600183610c13565b61056382600083610c13565b6001600160a01b0382166108fc61057b836002611c97565b6105859034611cb6565b6040518115909202916000818181858888f193505050501580156105ad573d6000803e3d6000fd5b505050565b6040516001600160a01b038316903480156108fc02916000818181858888f193505050501580156105ad573d6000803e3d6000fd5b5050565b6040516338c74dd960e01b815273b87a436b93ffe9d75c5cfa7bacfff96430b09868600482015273abbc5f99639c9b6bcb58544ddf04efa6802f4064906338c74dd990602401600060405180830381600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b50505050565b61066d610f7f565b6106776000610fd9565b565b6099546000906001600160a01b031633146106a65760405162461bcd60e51b815260040161052590611c61565b6106b182600161102b565b90505b919050565b6099546001600160a01b031633146106e35760405162461bcd60e51b815260040161052590611c61565b60006106ed610b85565b905034811161074057610701838383610c13565b6001600160a01b0383166108fc6107188334611cb6565b6040518115909202916000818181858888f1935050505015801561065f573d6000803e3d6000fd5b6040516001600160a01b038416903480156108fc02916000818181858888f1935050505015801561065f573d6000803e3d6000fd5b600054610100900460ff16158080156107955750600054600160ff909116105b806107af5750303b1580156107af575060005460ff166001145b6108125760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610525565b6000805460ff191660011790558015610835576000805461ff0019166101001790555b61083d611412565b609980546001600160a01b0319166001600160a01b03841617905580156105e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60607322199a49a999c351ef7927602cfb187ec3cae48963dc383cab73489ee077994b6658eafa855c308275ead8097c4a856108dc86611441565b6108e46114fb565b6108ed88611566565b6040518663ffffffff1660e01b815260040161090d959493929190611d11565b60006040518083038186803b15801561092557600080fd5b505afa158015610939573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109619190810190611dad565b90505b92915050565b6099546000906001600160a01b031633146109975760405162461bcd60e51b815260040161052590611c61565b6106b182600061102b565b73b87a436b93ffe9d75c5cfa7bacfff96430b0986833146109fc5760405162461bcd60e51b815260206004820152601460248201527310a3a6ac2fa827a9a4aa24a7a72fa927aaaa22a960611b6044820152606401610525565b6000838152609760205260409020828015610a145750815b15610a2b57805460ff60a01b1916600160a01b1781555b828015610a36575081155b80610a47575082158015610a475750815b15610ab2578054610a6d906001600160a01b03811690600160b01b900460ff16856115b6565b80546001600160a01b03166000908152609860205260409020610a909085611706565b50600084815260976020526040812080546001600160b81b0319168155600101555b82158015610abe575081155b1561065f5780546001600160a01b03166000908152609860205260409020610ae69085611706565b50505060009182525060976020526040812080546001600160b81b031916815560010155565b610b14610f7f565b6001600160a01b038116610b795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610525565b610b8281610fd9565b50565b600073b87a436b93ffe9d75c5cfa7bacfff96430b098686001600160a01b03166363ae21036040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bd657600080fd5b505af1158015610bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0e9190611e6b565b905090565b6000828015610ce0576040516340d3096b60e11b81527382af49447d8a07e3bd95bd0d56f35241523fbab1600482015260009073489ee077994b6658eafa855c308275ead8097c4a906381a612d69060240160206040518083038186803b158015610c7d57600080fd5b505afa158015610c91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb59190611e6b565b90506064610cc4600683611c97565b610cce9190611e84565b610cd89082611cb6565b925050610da0565b604051637092736960e11b81527382af49447d8a07e3bd95bd0d56f35241523fbab1600482015260009073489ee077994b6658eafa855c308275ead8097c4a9063e124e6d29060240160206040518083038186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d799190611e6b565b90506064610d88600683611c97565b610d929190611e84565b610d9c9082611ea6565b9250505b6000610dac30866108a1565b9050600073b87a436b93ffe9d75c5cfa7bacfff96430b09868637be7d14186610dd58685611712565b7382af49447d8a07e3bd95bd0d56f35241523fbab1600087600081518110610dff57610dff611ebe565b602002602001015189308c60008f8e306040518d63ffffffff1660e01b8152600401610e359b9a99989796959493929190611ed4565b6020604051808303818588803b158015610e4e57600080fd5b505af1158015610e62573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e879190611e6b565b6040805160a0810182526001600160a01b03808b16808352600060208085018281528587018381528e151560608801908152608088018581528a865260978552898620985189549451935192511515600160b01b0260ff60b01b19931515600160a81b029390931661ffff60a81b19941515600160a01b026001600160a81b0319909616919099161793909317919091169590951794909417855592516001949094019390935582526098905220909150610f429082611888565b506040518181527f86337556ac9ade551500a3c3a5e797e6a3b50e92e53df4cde62cd95a5c89537d9060200160405180910390a150505050505050565b6033546001600160a01b031633146106775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610525565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080611036610b85565b90506000611045600a34611e84565b905060006110538234611cb6565b9050600061106082611894565b90506000861561112e57604051637092736960e11b81527382af49447d8a07e3bd95bd0d56f35241523fbab1600482015260009073489ee077994b6658eafa855c308275ead8097c4a9063e124e6d29060240160206040518083038186803b1580156110cb57600080fd5b505afa1580156110df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111039190611e6b565b90506064611112600683611c97565b61111c9190611e84565b6111269082611ea6565b9150506111ee565b6040516340d3096b60e11b81527382af49447d8a07e3bd95bd0d56f35241523fbab1600482015260009073489ee077994b6658eafa855c308275ead8097c4a906381a612d69060240160206040518083038186803b15801561118f57600080fd5b505afa1580156111a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c79190611e6b565b905060646111d6600683611c97565b6111e09190611e84565b6111ea9082611cb6565b9150505b6111f7846118f6565b73b87a436b93ffe9d75c5cfa7bacfff96430b09868635b88e8c68461121d8a6001611712565b6040516001600160e01b031960e085901b16815261126391907382af49447d8a07e3bd95bd0d56f35241523fbab19060009089908f908a908f9085903090600401611f47565b6020604051808303818588803b15801561127c57600080fd5b505af1158015611290573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112b59190611e6b565b95506040518060a00160405280896001600160a01b031681526020016000151581526020016001151581526020018815158152602001838152506097600088815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff02191690831515021790555060608201518160000160166101000a81548160ff021916908315150217905550608082015181600101559050506113d386609860008b6001600160a01b03166001600160a01b0316815260200190815260200160002061188890919063ffffffff16565b506040518681527f044f63f2eed9e8888c18ad8644a4e8d9caa337e924f09b6e199c7b0c1debad6c9060200160405180910390a1505050505092915050565b600054610100900460ff166114395760405162461bcd60e51b815260040161052590611fa9565b610677611937565b606081156114b157604080516001808252818301909252600091602080830190803683370190505090507382af49447d8a07e3bd95bd0d56f35241523fbab18160008151811061149357611493611ebe565b6001600160a01b039092166020928302919091019091015292915050565b6040805160018082528183019092526000916020808301908036833701905050905073ff970a61a04b1ca14834a43f5de4533ebddb5cc88160008151811061149357611493611ebe565b60408051600180825281830190925260609160009190602080830190803683370190505090507382af49447d8a07e3bd95bd0d56f35241523fbab18160008151811061154957611549611ebe565b6001600160a01b0390921660209283029190910190910152919050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106115a0576115a0611ebe565b9115156020928302919091019091015292915050565b81806115c0575080155b156115fa576040516001600160a01b038416904780156108fc02916000818181858888f1935050505015801561065f573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015273ff970a61a04b1ca14834a43f5de4533ebddb5cc89063a9059cbb90859083906370a0823190602401602060405180830381600087803b15801561165057600080fd5b505af1158015611664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116889190611e6b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156116ce57600080fd5b505af11580156116e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065f9190611ff4565b60006109618383611967565b606082801561171e5750815b8061172f575082801561172f575081155b1561179d57604080516001808252818301909252600091602080830190803683370190505090507382af49447d8a07e3bd95bd0d56f35241523fbab18160008151811061177e5761177e611ebe565b6001600160a01b03909216602092830291909101909101529050610964565b821580156117a85750815b1561183e576040805160028082526060820183526000926020830190803683370190505090507382af49447d8a07e3bd95bd0d56f35241523fbab1816000815181106117f6576117f6611ebe565b60200260200101906001600160a01b031690816001600160a01b03168152505073ff970a61a04b1ca14834a43f5de4533ebddb5cc88160018151811061177e5761177e611ebe565b6040805160018082528183019092526000916020808301908036833701905050905073ff970a61a04b1ca14834a43f5de4533ebddb5cc88160008151811061177e5761177e611ebe565b60006109618383611a5a565b60008061189f611aa9565b905060006118ab611afa565b905060006118ba82600a6120fc565b6118c48487611c97565b6118ce9190611e84565b905060006118dd600a83611c97565b6118ec9064e8d4a51000611c97565b9695505050505050565b60405173ce03b880634ebd9bd0f6974ccf430eded3a8363f9082156108fc029083906000818181858888f193505050501580156105e7573d6000803e3d6000fd5b600054610100900460ff1661195e5760405162461bcd60e51b815260040161052590611fa9565b61067733610fd9565b60008181526001830160205260408120548015611a5057600061198b600183611cb6565b855490915060009061199f90600190611cb6565b9050818114611a045760008660000182815481106119bf576119bf611ebe565b90600052602060002001549050808760000184815481106119e2576119e2611ebe565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611a1557611a15612108565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610964565b6000915050610964565b6000818152600183016020526040812054611aa157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610964565b506000610964565b600073639fe6ab55c921f74e7fac1ee960c0b6293ba6126001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bd657600080fd5b600073639fe6ab55c921f74e7fac1ee960c0b6293ba6126001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bd657600080fd5b80356001600160a01b03811681146106b457600080fd5b600060208284031215611b7457600080fd5b61096182611b4b565b600060208284031215611b8f57600080fd5b5035919050565b8015158114610b8257600080fd5b60008060408385031215611bb757600080fd5b611bc083611b4b565b91506020830135611bd081611b96565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b81811015611c1357835183529284019291840191600101611bf7565b50909695505050505050565b600080600060608486031215611c3457600080fd5b833592506020840135611c4681611b96565b91506040840135611c5681611b96565b809150509250925092565b602080825260069082015265085d985d5b1d60d21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611cb157611cb1611c81565b500290565b600082821015611cc857611cc8611c81565b500390565b600081518084526020808501945080840160005b83811015611d065781516001600160a01b031687529582019590820190600101611ce1565b509495945050505050565b600060018060a01b03808816835260208188168185015260a06040850152611d3c60a0850188611ccd565b91508382036060850152611d508287611ccd565b8481036080860152855180825282870193509082019060005b81811015611d87578451151583529383019391830191600101611d69565b50909a9950505050505050505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611dc057600080fd5b825167ffffffffffffffff80821115611dd857600080fd5b818501915085601f830112611dec57600080fd5b815181811115611dfe57611dfe611d97565b8060051b604051601f19603f83011681018181108582111715611e2357611e23611d97565b604052918252848201925083810185019188831115611e4157600080fd5b938501935b82851015611e5f57845184529385019392850192611e46565b98975050505050505050565b600060208284031215611e7d57600080fd5b5051919050565b600082611ea157634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611eb957611eb9611c81565b500190565b634e487b7160e01b600052603260045260246000fd5b6000610160808352611ee88184018f611ccd565b6001600160a01b039d8e166020850152604084019c909c5250506060810198909852951515608088015293881660a087015260c086019290925260e0850152610100840152151561012083015290921661014090920191909152919050565b6000610120808352611f5b8184018d611ccd565b6001600160a01b039b8c166020850152604084019a909a5250506060810196909652931515608086015260a085019290925260c084015260e083015290921661010090920191909152919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561200657600080fd5b815161201181611b96565b9392505050565b600181815b8085111561205357816000190482111561203957612039611c81565b8085161561204657918102915b93841c939080029061201d565b509250929050565b60008261206a57506001610964565b8161207757506000610964565b816001811461208d5760028114612097576120b3565b6001915050610964565b60ff8411156120a8576120a8611c81565b50506001821b610964565b5060208310610133831016604e8410600b84101617156120d6575081810a610964565b6120e08383612018565b80600019048211156120f4576120f4611c81565b029392505050565b6000610961838361205b565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220f43a31a77dc8a7ca62825c7e9db32c394e076c5b92080a6fd2b67483fdb22ab764736f6c63430008090033