0 txs
416 calls
constructor
constructor()
functions
_LOPV4
viewfunction _LOPV4() view returns (address)
executors
viewfunction executors(address) view returns (bool)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addExecutor
nonpayablefunction addExecutor(address executor)
approve
nonpayablefunction approve(address token, address to)
initialize
nonpayablefunction initialize(address limitOrderProtocol)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
removeExecutor
nonpayablefunction removeExecutor(address executor)
renounceOwnership
nonpayablefunction renounceOwnership()
settleOrders
nonpayablefunction settleOrders(bytes data)
takerInteraction
nonpayablefunction takerInteraction(tuple, bytes, bytes32, address taker, uint256, uint256, uint256, bytes extraData)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateLOPAddress
nonpayablefunction updateLOPAddress(address newLOP)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
ExecutorAdded
event ExecutorAdded(address indexed executor)
ExecutorRemoved
event ExecutorRemoved(address indexed executor)
Initialized
event Initialized(uint64 version)
LOPAddressUpdated
event LOPAddressUpdated(address indexed oldLOP, address indexed newLOP)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
FailedExternalCall
error FailedExternalCall(uint256 index, bytes reason)
ForceApproveFailed
error ForceApproveFailed()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
NotTaker
error NotTaker()
OnlyExecutorOrOwner
error OnlyExecutorOrOwner()
OnlyLOP
error OnlyLOP()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115b86100fd600039600081816109e301528181610a0c0152610b4d01526115b86000f3fe6080604052600436106100f35760003560e01c80637e5465ba1161008a578063ad3cb1cc11610059578063ad3cb1cc146102a4578063adf38ba1146102e2578063c4d66de814610302578063f2fde38b1461032257600080fd5b80637e5465ba146102025780638da5cb5b146102225780639ac2a01114610237578063ac9650d81461027757600080fd5b80634f1ef286116100c65780634f1ef2861461017a57806352d1902d1461018d57806354a8521b146101b5578063715018a6146101ed57600080fd5b80630965d04b146100f85780631f5a0bbe1461011a578063247884291461013a5780634267cb951461015a575b600080fd5b34801561010457600080fd5b50610118610113366004610f69565b610342565b005b34801561012657600080fd5b50610118610135366004610fbf565b6103a7565b34801561014657600080fd5b50610118610155366004610fbf565b6103fe565b34801561016657600080fd5b50610118610175366004610fbf565b61044f565b610118610188366004611091565b6104ce565b34801561019957600080fd5b506101a26104e9565b6040519081526020015b60405180910390f35b3480156101c157600080fd5b506000546101d5906001600160a01b031681565b6040516001600160a01b0390911681526020016101ac565b3480156101f957600080fd5b50610118610506565b34801561020e57600080fd5b5061011861021d3660046110e0565b61051a565b34801561022e57600080fd5b506101d5610538565b34801561024357600080fd5b50610267610252366004610fbf565b60016020526000908152604090205460ff1681565b60405190151581526020016101ac565b34801561028357600080fd5b50610297610292366004611119565b610566565b6040516101ac91906111dd565b3480156102b057600080fd5b506102d5604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ac9190611241565b3480156102ee57600080fd5b506101186102fd366004611254565b61064e565b34801561030e57600080fd5b5061011861031d366004610fbf565b6107b1565b34801561032e57600080fd5b5061011861033d366004610fbf565b6108f0565b3360009081526001602052604090205460ff1615801561037b5750610365610538565b6001600160a01b0316336001600160a01b031614155b15610399576040516304cba25760e51b815260040160405180910390fd5b6103a3828261092e565b5050565b6103af6109a6565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517fae5b7c3b000f575c241001dc9bcb3d8778376889353b07121115574eceff78c59190a250565b6104066109a6565b6001600160a01b038116600081815260016020526040808220805460ff19169055517f4a2cf608bfb427f53279ec7f0eadf48913b9346ccefc3af138dbdec14ea0907d9190a250565b6104576109a6565b6001600160a01b03811661047e5760405163d92e233d60e01b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8085af3eef794f4b38efb4ea4bdd45cdfc05b94b324f4691da631767013ae0909190a35050565b6104d66109d8565b6104df82610a7d565b6103a38282610a85565b60006104f3610b42565b5060008051602061156383398151915290565b61050e6109a6565b6105186000610b8b565b565b6105226109a6565b6103a36001600160a01b03831682600019610bfc565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b604080516000815260208101909152606090826001600160401b0381111561059057610590610fdc565b6040519080825280602002602001820160405280156105c357816020015b60608152602001906001900390816105ae5790505b50915060005b8381101561064557610620308686848181106105e7576105e7611321565b90506020028101906105f99190611337565b8560405160200161060c9392919061137d565b604051602081830303815290604052610c61565b83828151811061063257610632611321565b60209081029190910101526001016105c9565b50505b92915050565b6000546001600160a01b0316331461067957604051630126c14d60e61b815260040160405180910390fd5b6001600160a01b03861630146106a257604051635211a07960e01b815260040160405180910390fd5b6000806106b183850185611456565b9150915060005b82518110156107a25760006106ec8483815181106106d8576106d8611321565b60200260200101516001600160a01b031690565b9050600080826001600160a01b031685858151811061070d5761070d611321565b60200260200101516040516107229190611504565b6000604051808303816000865af19150503d806000811461075f576040519150601f19603f3d011682016040523d82523d6000602084013e610764565b606091505b5091509150816107945783816040516307d6414d60e51b815260040161078b929190611520565b60405180910390fd5b5050508060010190506106b8565b50505050505050505050505050565b60006107bb610cd7565b805490915060ff600160401b82041615906001600160401b03166000811580156107e25750825b90506000826001600160401b031660011480156107fe5750303b155b90508115801561080c575080155b1561082a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561085457845460ff60401b1916600160401b1785555b61085d33610d00565b610865610d11565b61086d610d11565b600080546001600160a01b0319166001600160a01b038816178155338152600160208190526040909120805460ff1916909117905583156108e857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b6108f86109a6565b6001600160a01b03811661092257604051631e4fbdf760e01b81526000600482015260240161078b565b61092b81610b8b565b50565b600080546040516001600160a01b039091169061094e9085908590611539565b6000604051808303816000865af19150503d806000811461098b576040519150601f19603f3d011682016040523d82523d6000602084013e610990565b606091505b50509050806109a1576109a1610d19565b505050565b336109af610538565b6001600160a01b0316146105185760405163118cdaa760e01b815233600482015260240161078b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610a5f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a53600080516020611563833981519152546001600160a01b031690565b6001600160a01b031614155b156105185760405163703e46dd60e11b815260040160405180910390fd5b61092b6109a6565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610adf575060408051601f3d908101601f19168201909252610adc91810190611549565b60015b610b0757604051634c9c8ce360e01b81526001600160a01b038316600482015260240161078b565b6000805160206115638339815191528114610b3857604051632a87526960e21b81526004810182905260240161078b565b6109a18383610d25565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105185760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610c0f8363095ea7b360e01b8484610d7b565b6109a157610c278363095ea7b360e01b846000610d7b565b1580610c435750610c418363095ea7b360e01b8484610d7b565b155b156109a15760405163019be9a960e41b815260040160405180910390fd5b6060600080846001600160a01b031684604051610c7e9190611504565b600060405180830381855af49150503d8060008114610cb9576040519150601f19603f3d011682016040523d82523d6000602084013e610cbe565b606091505b5091509150610cce858383610dcf565b95945050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610648565b610d08610e2e565b61092b81610e53565b610518610e2e565b6040513d6000823e3d81fd5b610d2e82610e5b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610d73576109a18282610c61565b6103a3610ec0565b60006040518481528360048201528260248201526020600060448360008a5af19150508015610dc7573d8015610dbd57600160005114601f3d11169150610dc5565b6000863b1191505b505b949350505050565b606082610de457610ddf82610edf565b610e27565b8151158015610dfb57506001600160a01b0384163b155b15610e2457604051639996b31560e01b81526001600160a01b038516600482015260240161078b565b50805b9392505050565b610e36610f07565b61051857604051631afcd79f60e31b815260040160405180910390fd5b6108f8610e2e565b806001600160a01b03163b600003610e9157604051634c9c8ce360e01b81526001600160a01b038216600482015260240161078b565b60008051602061156383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b34156105185760405163b398979f60e01b815260040160405180910390fd5b805115610eee57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000610f11610cd7565b54600160401b900460ff16919050565b60008083601f840112610f3357600080fd5b5081356001600160401b03811115610f4a57600080fd5b602083019150836020828501011115610f6257600080fd5b9250929050565b60008060208385031215610f7c57600080fd5b82356001600160401b03811115610f9257600080fd5b610f9e85828601610f21565b90969095509350505050565b6001600160a01b038116811461092b57600080fd5b600060208284031215610fd157600080fd5b8135610e2781610faa565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561101a5761101a610fdc565b604052919050565b600082601f83011261103357600080fd5b81356001600160401b0381111561104c5761104c610fdc565b61105f601f8201601f1916602001610ff2565b81815284602083860101111561107457600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156110a457600080fd5b82356110af81610faa565b915060208301356001600160401b038111156110ca57600080fd5b6110d685828601611022565b9150509250929050565b600080604083850312156110f357600080fd5b82356110fe81610faa565b9150602083013561110e81610faa565b809150509250929050565b6000806020838503121561112c57600080fd5b82356001600160401b038082111561114357600080fd5b818501915085601f83011261115757600080fd5b81358181111561116657600080fd5b8660208260051b850101111561117b57600080fd5b60209290920196919550909350505050565b60005b838110156111a8578181015183820152602001611190565b50506000910152565b600081518084526111c981602086016020860161118d565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b8281101561123457603f198886030184526112228583516111b1565b94509285019290850190600101611206565b5092979650505050505050565b602081526000610e2760208301846111b1565b6000806000806000806000806000808a8c036101e081121561127557600080fd5b6101008082121561128557600080fd5b8c9b508b013590506001600160401b03808211156112a257600080fd5b6112ae8e838f01610f21565b909b5099506101208d013598506101408d013591506112cc82610faa565b9096506101608c013595506101808c013594506101a08c013593506101c08c013590808211156112fb57600080fd5b506113088d828e01610f21565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261134e57600080fd5b8301803591506001600160401b0382111561136857600080fd5b602001915036819003821315610f6257600080fd5b82848237600083820160008152835161139a81836020880161118d565b0195945050505050565b60006001600160401b038211156113bd576113bd610fdc565b5060051b60200190565b600082601f8301126113d857600080fd5b813560206113ed6113e8836113a4565b610ff2565b82815260059290921b8401810191818101908684111561140c57600080fd5b8286015b8481101561144b5780356001600160401b0381111561142f5760008081fd5b61143d8986838b0101611022565b845250918301918301611410565b509695505050505050565b6000806040838503121561146957600080fd5b82356001600160401b038082111561148057600080fd5b818501915085601f83011261149457600080fd5b813560206114a46113e8836113a4565b82815260059290921b840181019181810190898411156114c357600080fd5b948201945b838610156114e1578535825294820194908201906114c8565b965050860135925050808211156114f757600080fd5b506110d6858286016113c7565b6000825161151681846020870161118d565b9190910192915050565b828152604060208201526000610dc760408301846111b1565b8183823760009101908152919050565b60006020828403121561155b57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220ee37e12895a9d2fe77c776a0bed41a07a85da775f265162e0af595c2c5771acc64736f6c63430008160033