0 txs
1.24m calls
constructor
constructor()
functions
isForwarder
viewfunction isForwarder(address) view returns (bool)
orders
viewfunction orders(uint256 orderId) view returns (uint32 timestamp, uint16 pairIndex, uint8 orderType, bool initiated)
registry
viewfunction registry() view returns (address)
getPrice
nonpayablefunction getPrice(uint256 orderId, uint16 pairIndex, uint8 orderType, uint256 timestamp)
initialize
nonpayablefunction initialize(address _registry)
performUpkeep
nonpayablefunction performUpkeep(bytes performData)
registerForwarder
nonpayablefunction registerForwarder(address forwarderAddress)
registerForwarders
nonpayablefunction registerForwarders(address[] forwarderAddresses)
unregisterForwarder
nonpayablefunction unregisterForwarder(address forwarderAddress)
unregisterForwarders
nonpayablefunction unregisterForwarders(address[] forwarderAddresses)
events
ForwarderAdded
event ForwarderAdded(address newAddr)
ForwarderRemoved
event ForwarderRemoved(address newAddr)
Initialized
event Initialized(uint64 version)
PendingSlOrderUnregistered
event PendingSlOrderUnregistered(uint256 indexed orderId)
PriceReceived
event PriceReceived(uint256 indexed orderId, uint256 indexed pairIndex, int192 price, uint256 nativeFee)
PriceRequested
event PriceRequested(uint256 indexed orderId, bytes32 feed, uint256 timestamp)
errors
AlreadyForwarder
error AlreadyForwarder(address a)
AlreadyInitiated
error AlreadyInitiated(uint256 a)
InvalidInitialization
error InvalidInitialization()
InvalidPrice
error InvalidPrice(uint256 orderId)
NotContract
error NotContract(address a)
NotForwarder
error NotForwarder(address a)
NotGov
error NotGov(address a)
NotInitializing
error NotInitializing()
NotInitiated
error NotInitiated(uint256 a)
NotRouter
error NotRouter(address a)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
WrongParams
error WrongParams()
creation bytecode
0x608080604052346100b8577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100a957506001600160401b036002600160401b031982821601610064575b6040516112e090816100be8239f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610055565b63f92ee8a960e01b8152600490fd5b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c806340975ffc14610fa157806340bc71b114610f025780634585e33b1461070c57806378fcbf791461065157806379716327146103845780637b1039991461035d578063a85c38ef146102e4578063abcef554146102a2578063c4d66de8146101505763d95c0f0a1461008b57600080fd5b3461014d576100993661103e565b906100a26111c8565b825b8281106100af578380f35b6100c26100bd82858561118e565b6111b4565b6100ca6111c8565b6001600160a01b03168085526002602081815260408720549092919060ff16610134579181600194937f0ea0ce2c048ff45a4a95f2947879de3fb94abec2f152190400cab2d1272a68e79389528252604088208560ff19825416179055604051908152a1016100a4565b604051633b591e5160e11b815260048101839052602490fd5b80fd5b503461014d57602036600319011261014d576004356001600160a01b0381169081900361029e577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c16159167ffffffffffffffff811680159081610296575b600114908161028c575b159081610283575b506102715767ffffffffffffffff198116600117845582610252575b5080156102405783546001600160a01b031916178355610205575080f35b805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a180f35b604051635863f78960e01b8152600490fd5b68ffffffffffffffffff191668010000000000000001178355386101e7565b60405163f92ee8a960e01b8152600490fd5b905015386101cb565b303b1591506101c3565b8491506101b9565b5080fd5b503461014d57602036600319011261014d576004356001600160a01b0381169081900361029e5760408260ff9260209452600284522054166040519015158152f35b503461014d57602036600319011261014d576004358152600160205260408120549060ff8260301c166040519163ffffffff8416835261ffff8460201c1660208401526005821015610349575060809260ff91604084015260381c1615156060820152f35b634e487b7160e01b81526021600452602490fd5b503461014d578060031936011261014d57546040516001600160a01b039091168152602090f35b503461014d57608036600319011261014d57600435602480359061ffff821680920361064d57604435906005821015610649576064359160018060a01b0393848754169260405193630d2020dd60e01b8086526a383934b1b2a937baba32b960a91b600487015260209586818581865afa801561063e5789918c91610621575b5016330361060a57888a526001865260ff60408b205460381c166105f2578590836040518094819382526b706169727353746f7261676560a01b60048301525afa80156105e75785918a916105ba575b5082604051809981936390b3353960e01b8352876004840152165afa9586156105af57889661057b575b5063ffffffff9283861161055e57604051936104998561108b565b80871685528585019384526104b260408601928361110f565b606085019060018252898b526001875260408b209551169065ffff0000000086549551881b16925193600585101561054c57507f8195bed39a3fd3cf674a481e5c9ebcec05361cfca110f800bedda374c24bdeea9896949260409896949267ff0000000000000066ff0000000000009351151560381b169467ffffffffffffffff191617179160301b16171790558351928352820152a280f35b634e487b7160e01b8c5260216004528bfd5b6044858784604051926306dfcc6560e41b84526004840152820152fd5b9095508381813d83116105a8575b61059381836110d1565b810103126105a35751943861047e565b600080fd5b503d610589565b6040513d8a823e3d90fd5b6105da9150823d84116105e0575b6105d281836110d1565b810190611131565b38610454565b503d6105c8565b6040513d8b823e3d90fd5b604051630b4399ad60e21b8152600481018a90528390fd5b604051632462ed0960e01b81523360048201528390fd5b6106389150883d8a116105e0576105d281836110d1565b38610404565b6040513d8d823e3d90fd5b8480fd5b8380fd5b503461014d576106603661103e565b906106696111c8565b825b828110610676578380f35b6106846100bd82858561118e565b61068c6111c8565b6001600160a01b03168085526002602081815260408720549092919060ff16156106f35781875282526040808720805460ff1916905551908152600192917fb96d15bf9258c7b8df062753a6a262864611fc7b060a5ee2e57e79b85f898d3891a10161066b565b604051632ac978d960e11b815260048101839052602490fd5b503461014d57602036600319011261014d5767ffffffffffffffff600435818111610ee65736602382011215610ee657806004013582811161064d578101602481019036821161064957338552600260205260ff60408620541615610eea5782604091031261064d5760248201358381116106495782019080604383011215610649578460248301359261079f846110f3565b936107ad60405195866110d1565b808552602085019360448284010111610ee65780604460209301853784010152604483013585526001602052604085209160ff604051936107ed8561108b565b5463ffffffff8116855261ffff8160201c166020860152610816828260301c166040870161110f565b60381c161580156060850152610eca578554604051630d2020dd60e01b81526d37b9ba34bab6ab32b934b334b2b960911b600482015287929091602090839060249082906001600160a01b03165afa908115610ebf576108a7928492610e9e575b5083604460405180978196829563473b057f60e11b84526020600485015251809281602486015285850190611150565b601f01601f191681010301926001600160a01b03165af1908115610d12578591610e29575b506040519360a0850190811185821017610e15576040528460208501528460408501528460608501528460808501526044830135845260018060a01b038554169060405190630d2020dd60e01b82526b706169727353746f7261676560a01b6004830152602082602481865afa918215610de9578792610df4575b506020848101516040516390b3353960e01b815261ffff909116600482015292839060249082906001600160a01b03165afa918215610de9578792610db5575b5060e081805181010312610db157602081015190604081015163ffffffff81168103610dad57816109bf606063ffffffff9401611173565b6109cb60808301611173565b6109d760a08401611173565b6109ef60e06109e860c08701611181565b9501611181565b151560808d015260170b60608c015260170b60408b015260170b60208a015215610d96575b1663ffffffff8551161491821592610d8b575b5050610d6f5783518552600160205260246020604087209260405193610a4c8561108b565b549363ffffffff8516815261ffff85841c1683820152606060ff6040830196610a7a828260301c168961110f565b60381c161515910152604051630d2020dd60e01b81526863616c6c6261636b7360b81b600482015292839182905afa908115610d64578691610d45575b5060018060a01b03169080516005811015610d315786929190610b705750803b1561029e57816040518092634e8fdedb60e01b8252818381610afc8b6004830161124b565b03925af18015610b6557610b51575b505060406044602061ffff8160008051602061128b833981519152955b88518a5260018252898681205501511695015160170b938251948552866020860152013592a380f35b610b5a906110bd565b61064d578338610b0b565b6040513d84823e3d90fd5b80919250516005811015610d315786929190600103610bf55750803b1561029e57816040518092635f7a93af60e01b8252818381610bb18b6004830161124b565b03925af18015610b6557610be1575b505060406044602061ffff8160008051602061128b83398151915295610b28565b610bea906110bd565b61064d578338610bc0565b80919250516005811015610d315786929190600203610c365750803b1561029e578160405180926313c7b7c160e11b8252818381610bb18b6004830161124b565b80919250516005811015610d315786929190600303610c775750803b1561029e57816040518092631100808160e01b8252818381610bb18b6004830161124b565b909150516005811015610d1d57600414610cac575b5060406044602061ffff8160008051602061128b83398151915295610b28565b803b1561064957846040518092635266992360e11b8252818381610cd38a6004830161124b565b03925af18015610d125715610c8c576044602061ffff8160008051602061128b8339815191529598610d066040966110bd565b98955050505050610c8c565b6040513d87823e3d90fd5b634e487b7160e01b86526021600452602486fd5b634e487b7160e01b87526021600452602487fd5b610d5e915060203d6020116105e0576105d281836110d1565b38610ab7565b6040513d88823e3d90fd5b604051637cb1974360e11b815260448401356004820152602490fd5b141590503880610a27565b886020890152886040890152886060890152610a14565b8880fd5b8680fd5b9091506020813d602011610de1575b81610dd1602093836110d1565b81010312610db157519038610987565b3d9150610dc4565b6040513d89823e3d90fd5b610e0e91925060203d6020116105e0576105d281836110d1565b9038610947565b634e487b7160e01b86526041600452602486fd5b90503d8086833e610e3a81836110d1565b810190602081830312610e9a57805190858211610db1570181601f82011215610e9a578051610e68816110f3565b92610e7660405194856110d1565b81845260208284010111610db157610e949160208085019101611150565b386108cc565b8580fd5b610eb891925060203d6020116105e0576105d281836110d1565b9038610877565b6040513d85823e3d90fd5b604051637788b2b360e11b815260448501356004820152602490fd5b8280fd5b604051632ac978d960e11b8152336004820152602490fd5b503461014d57602036600319011261014d576004356001600160a01b0381169081900361029e57610f316111c8565b808252600260205260ff604083205416610f89576020817f0ea0ce2c048ff45a4a95f2947879de3fb94abec2f152190400cab2d1272a68e79284526002825260408420600160ff19825416179055604051908152a180f35b60249060405190633b591e5160e11b82526004820152fd5b503461014d57602036600319011261014d576004356001600160a01b0381169081900361029e57610fd06111c8565b808252600260205260ff60408320541615611026576020817fb96d15bf9258c7b8df062753a6a262864611fc7b060a5ee2e57e79b85f898d38928452600282526040842060ff198154169055604051908152a180f35b60249060405190632ac978d960e11b82526004820152fd5b9060206003198301126105a35760043567ffffffffffffffff928382116105a357806023830112156105a35781600401359384116105a35760248460051b830101116105a3576024019190565b6080810190811067ffffffffffffffff8211176110a757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116110a757604052565b90601f8019910116810190811067ffffffffffffffff8211176110a757604052565b67ffffffffffffffff81116110a757601f01601f191660200190565b600582101561111b5752565b634e487b7160e01b600052602160045260246000fd5b908160209103126105a357516001600160a01b03811681036105a35790565b60005b8381106111635750506000910152565b8181015183820152602001611153565b51908160170b82036105a357565b519081151582036105a357565b919081101561119e5760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036105a35790565b6000546040516312d43a5160e01b81526001600160a01b03916020908290600490829086165afa90811561123f57600091611220575b5016330361120857565b60405163093650d560e01b8152336004820152602490fd5b611239915060203d6020116105e0576105d281836110d1565b386111fe565b6040513d6000823e3d90fd5b91909160808060a083019480518452602081015160170b6020850152604081015160170b6040850152606081015160170b60608501520151151591015256fe601d9b4c10a6abc80c3441c9eb48f96c781092c70e5c63c56a637eafb4cb39cea264697066735822122008b7a0bd2fbc701d6097c0c4844cdac14b13dd444adc2ed714dfb0efc1ca928c64736f6c63430008180033