0 txs
0 calls
constructor
constructor(address _reactor, address _weth, address _owner)
functions
fillers
viewfunction fillers(address) view returns (bool)
getFeeOutputs
purefunction getFeeOutputs(tuple order) pure returns (tuple[] fees)
owner
viewfunction owner() view returns (address)
reactor
viewfunction reactor() view returns (address)
validate
viewfunction validate(address filler, tuple) view
VERSION
viewfunction VERSION() view returns (uint8)
weth
viewfunction weth() view returns (address)
execute
nonpayablefunction execute(tuple order, tuple[] swaps)
executeBatch
nonpayablefunction executeBatch(tuple[] orders, tuple[] swaps)
reactorCallback
nonpayablefunction reactorCallback(tuple[] orders, bytes callbackData)
renounceOwnership
nonpayablefunction renounceOwnership()
setFillers
nonpayablefunction setFillers(address[] _fillers, bool enabled)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(tuple[] swaps, address[] tokens, uint256 nativeAmountMin)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
InsufficientNativeAmount
error InsufficientNativeAmount(uint256 amount)
InvalidSender
error InvalidSender(address sender)
creation bytecode
0x60c06040523480156200001157600080fd5b5060405162002808380380620028088339810160408190526200003491620001ad565b6200003f3362000066565b6001600160a01b03808416608052821660a0526200005d81620000b6565b50505062000201565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620000c062000139565b6001600160a01b0381166200012b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620001368162000066565b50565b6000546001600160a01b03163314620001955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000122565b565b6001600160a01b03811681146200013657600080fd5b600080600060608486031215620001c357600080fd5b8351620001d08162000197565b6020850151909350620001e38162000197565b6040850151909250620001f68162000197565b809150509250925092565b60805160a0516125bf620002496000396000818160ff0152818161047c015261053001526000818161026c01528181610790015281816109a90152610ca801526125bf6000f3fe6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063d0b1500311610059578063d0b150031461028e578063e82f3c25146102ce578063f2fde38b146102ee578063ffa1ad741461030e57600080fd5b80638da5cb5b1461020f57806399f1dc141461023a578063ab5726501461025a57600080fd5b80635917dbff116100bb5780635917dbff1461018d5780636e84ba2b146101ad578063715018a6146101cd5780638aa6cf03146101e257600080fd5b80633fc8cef3146100ed5780634e39f0941461014b578063585da6281461016d57600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b506101217f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561015757600080fd5b5061016b610166366004611654565b610335565b005b34801561017957600080fd5b5061016b610188366004611ac9565b610778565b34801561019957600080fd5b5061016b6101a8366004611b9d565b610936565b3480156101b957600080fd5b5061016b6101c8366004611c09565b610a5d565b3480156101d957600080fd5b5061016b610ac8565b3480156101ee57600080fd5b506102026101fd366004611c60565b610adc565b6040516101429190611c95565b34801561021b57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610121565b34801561024657600080fd5b5061016b610255366004611d16565b610b91565b34801561026657600080fd5b506101217f000000000000000000000000000000000000000000000000000000000000000081565b34801561029a57600080fd5b506102be6102a9366004611d6d565b60016020526000908152604090205460ff1681565b6040519015158152602001610142565b3480156102da57600080fd5b5061016b6102e9366004611d91565b610c35565b3480156102fa57600080fd5b5061016b610309366004611d6d565b610d59565b34801561031a57600080fd5b50610323600081565b60405160ff9091168152602001610142565b61033d610e10565b60005b8481101561044a57600086868381811061035c5761035c611e02565b905060200281019061036e9190611e31565b61037790611e6f565b8051604051919250610435917f20b93f1a00000000000000000000000000000000000000000000000000000000906103b3908590602401611f66565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610e91565b5050808061044290611ff4565b915050610340565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa1580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc919061202c565b1115610609576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015610594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b8919061202c565b6040518263ffffffff1660e01b81526004016105d691815260200190565b600060405180830381600087803b1580156105f057600080fd5b505af1158015610604573d6000803e3d6000fd5b505050505b60005b82811015610725576107133385858481811061062a5761062a611e02565b905060200201602081019061063f9190611d6d565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf919061202c565b8686858181106106e1576106e1611e02565b90506020020160208101906106f69190611d6d565b73ffffffffffffffffffffffffffffffffffffffff169190610ebf565b8061071d81611ff4565b91505061060c565b5080471015610767576040517fb85fa5fb0000000000000000000000000000000000000000000000000000000081524760048201526024015b60405180910390fd5b6107713347610f98565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107e9576040517f4c14f64c00000000000000000000000000000000000000000000000000000000815233600482015260240161075e565b6000818060200190518101906107ff9190612045565b905060005b815181101561086157600082828151811061082157610821611e02565b6020026020010151905061084c81600001516320b93f1a60e01b836040516024016103b39190611f66565b5050808061085990611ff4565b915050610804565b5060005b835181101561093057600084828151811061088257610882611e02565b6020026020010151905060005b81604001515181101561091b5761090933836040015183815181106108b6576108b6611e02565b602002602001015160200151846040015184815181106108d8576108d8611e02565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff166110f29092919063ffffffff16565b8061091381611ff4565b91505061088f565b5050808061092890611ff4565b915050610865565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331480159061096e57503360009081526001602052604090205460ff16155b156109a7576040517f4c14f64c00000000000000000000000000000000000000000000000000000000815233600482015260240161075e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166313fb72c7858585856040516020016109f892919061227b565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401610a25939291906123de565b600060405180830381600087803b158015610a3f57600080fd5b505af1158015610a53573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff82163014610ac4576040517f4c14f64c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015260240161075e565b5050565b610ad0610e10565b610ada60006111eb565b565b805160a0015151606090600003610af257919050565b60408051600180825281830190925290816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b07575050825160a001518051919250610b6e91810160209081019101612494565b81600081518110610b8157610b81611e02565b6020026020010181905250919050565b610b99610e10565b60005b82811015610930578160016000868685818110610bbb57610bbb611e02565b9050602002016020810190610bd09190611d6d565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905580610c2d81611ff4565b915050610b9c565b60005473ffffffffffffffffffffffffffffffffffffffff163314801590610c6d57503360009081526001602052604090205460ff16155b15610ca6576040517f4c14f64c00000000000000000000000000000000000000000000000000000000815233600482015260240161075e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630d335884848484604051602001610cf692919061227b565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d229291906124df565b600060405180830381600087803b158015610d3c57600080fd5b505af1158015610d50573d6000803e3d6000fd5b50505050505050565b610d61610e10565b73ffffffffffffffffffffffffffffffffffffffff8116610e04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161075e565b610e0d816111eb565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075e565b6060610eb6838360405180606001604052806027815260200161256360279139611260565b90505b92915050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610f939084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526112e5565b505050565b80471015611002576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161075e565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461105c576040519150601f19603f3d011682016040523d82523d6000602084013e611061565b606091505b5050905080610f93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161075e565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118c919061202c565b9050610930847f095ea7b300000000000000000000000000000000000000000000000000000000856111be868661250d565b60405173ffffffffffffffffffffffffffffffffffffffff90921660248301526044820152606401610f11565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161128a9190612520565b600060405180830381855af49150503d80600081146112c5576040519150601f19603f3d011682016040523d82523d6000602084013e6112ca565b606091505b50915091506112db868383876113f4565b9695505050505050565b6000611347826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661149c9092919063ffffffff16565b90508051600014806113685750808060200190518101906113689190612532565b610f93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161075e565b6060831561148a5782516000036114835773ffffffffffffffffffffffffffffffffffffffff85163b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161075e565b5081611494565b61149483836114ab565b949350505050565b606061149484846000856114ef565b8151156114bb5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e919061254f565b606082471015611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161075e565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516115aa9190612520565b60006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b50915091506115fd878383876113f4565b979650505050505050565b60008083601f84011261161a57600080fd5b50813567ffffffffffffffff81111561163257600080fd5b6020830191508360208260051b850101111561164d57600080fd5b9250929050565b60008060008060006060868803121561166c57600080fd5b853567ffffffffffffffff8082111561168457600080fd5b61169089838a01611608565b909750955060208801359150808211156116a957600080fd5b506116b688828901611608565b96999598509660400135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561171a5761171a6116c8565b60405290565b60405160a0810167ffffffffffffffff8111828210171561171a5761171a6116c8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561178a5761178a6116c8565b604052919050565b600067ffffffffffffffff8211156117ac576117ac6116c8565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81168114610e0d57600080fd5b600067ffffffffffffffff8211156117f2576117f26116c8565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261182f57600080fd5b813561184261183d826117d8565b611743565b81815284602083860101111561185757600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561188657600080fd5b60405160c0810167ffffffffffffffff82821081831117156118aa576118aa6116c8565b81604052829350843591506118be826117b6565b9082526020840135906118d0826117b6565b8160208401526040850135604084015260608501356060840152608085013591506118fa826117b6565b81608084015260a085013591508082111561191457600080fd5b506119218582860161181e565b60a0830152505092915050565b60006060828403121561194057600080fd5b6119486116f7565b90508135611955816117b6565b80825250602082013560208201526040820135604082015292915050565b600082601f83011261198457600080fd5b8135602061199461183d83611792565b828152606092830285018201928282019190878511156119b357600080fd5b8387015b85811015611a0c5781818a0312156119cf5760008081fd5b6119d76116f7565b81356119e2816117b6565b815281860135868201526040808301356119fb816117b6565b9082015284529284019281016119b7565b5090979650505050505050565b600060e08284031215611a2b57600080fd5b611a33611720565b9050813567ffffffffffffffff80821115611a4d57600080fd5b611a5985838601611874565b8352611a68856020860161192e565b60208401526080840135915080821115611a8157600080fd5b611a8d85838601611973565b604084015260a0840135915080821115611aa657600080fd5b50611ab38482850161181e565b60608301525060c0820135608082015292915050565b60008060408385031215611adc57600080fd5b823567ffffffffffffffff80821115611af457600080fd5b818501915085601f830112611b0857600080fd5b81356020611b1861183d83611792565b82815260059290921b84018101918181019089841115611b3757600080fd5b8286015b84811015611b6f57803586811115611b535760008081fd5b611b618c86838b0101611a19565b845250918301918301611b3b565b5096505086013592505080821115611b8657600080fd5b50611b938582860161181e565b9150509250929050565b60008060008060408587031215611bb357600080fd5b843567ffffffffffffffff80821115611bcb57600080fd5b611bd788838901611608565b90965094506020870135915080821115611bf057600080fd5b50611bfd87828801611608565b95989497509550505050565b60008060408385031215611c1c57600080fd5b8235611c27816117b6565b9150602083013567ffffffffffffffff811115611c4357600080fd5b830160e08186031215611c5557600080fd5b809150509250929050565b600060208284031215611c7257600080fd5b813567ffffffffffffffff811115611c8957600080fd5b61149484828501611a19565b602080825282518282018190526000919060409081850190868401855b82811015611cfb578151805173ffffffffffffffffffffffffffffffffffffffff9081168652878201518887015290860151168585015260609093019290850190600101611cb2565b5091979650505050505050565b8015158114610e0d57600080fd5b600080600060408486031215611d2b57600080fd5b833567ffffffffffffffff811115611d4257600080fd5b611d4e86828701611608565b9094509250506020840135611d6281611d08565b809150509250925092565b600060208284031215611d7f57600080fd5b8135611d8a816117b6565b9392505050565b600080600060408486031215611da657600080fd5b833567ffffffffffffffff80821115611dbe57600080fd5b9085019060408288031215611dd257600080fd5b90935060208501359080821115611de857600080fd5b50611df586828701611608565b9497909650939450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112611e6557600080fd5b9190910192915050565b600060a08236031215611e8157600080fd5b611e89611720565b8235611e94816117b6565b81526020830135611ea4816117b6565b6020820152604083810135908201526060830135611ec1816117b6565b6060820152608083013567ffffffffffffffff811115611ee057600080fd5b611eec3682860161181e565b60808301525092915050565b60005b83811015611f13578181015183820152602001611efb565b50506000910152565b60008151808452611f34816020860160208601611ef8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600073ffffffffffffffffffffffffffffffffffffffff8084511660208401528060208501511660408401526040840151606084015280606085015116608084015250608083015160a08084015261149460c0840182611f1c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361202557612025611fc5565b5060010190565b60006020828403121561203e57600080fd5b5051919050565b6000602080838503121561205857600080fd5b825167ffffffffffffffff8082111561207057600080fd5b818501915085601f83011261208457600080fd5b815161209261183d82611792565b81815260059190911b830184019084810190888311156120b157600080fd5b8585015b838110156121c1578051858111156120cd5760008081fd5b860160a0818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018113156121035760008081fd5b61210b611720565b89830151612118816117b6565b8152604083810151612129816117b6565b828c015260608481015182840152608080860151612146816117b6565b8483015293850151938a85111561215f57600091508182fd5b84860195508f603f87011261217657600094508485fd5b8c860151945061218861183d866117d8565b91508482528f8386880101111561219f5760008081fd5b6121ae858e8401858901611ef8565b83015250855250509186019186016120b5565b5098975050505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261220357600080fd5b830160208101925035905067ffffffffffffffff81111561222357600080fd5b80360382131561164d57600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528181018390526000906040808401600586901b850182018785805b8981101561238e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c36030181126122fb578283fd5b8b0160a0813561230a816117b6565b73ffffffffffffffffffffffffffffffffffffffff9081168752828a013590612332826117b6565b908116878b0152828901358988015260609081840135612351816117b6565b16908701526080612364838201846121ce565b935082828901526123788389018583612232565b988b01989750505093880193505060010161229b565b50919998505050505050505050565b60006123a982836121ce565b604085526123bb604086018284612232565b9150506123cb60208401846121ce565b85830360208701526112db838284612232565b6040808252810183905260006060600585901b830181019083018683805b8881101561247e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087860301845282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18b360301811261245c578283fd5b612468868c830161239d565b95505060209384019392909201916001016123fc565b5050505082810360208401526112db8185611f1c565b6000606082840312156124a657600080fd5b6124ae6116f7565b82516124b9816117b6565b81526020838101519082015260408301516124d3816117b6565b60408201529392505050565b6040815260006124f2604083018561239d565b82810360208401526125048185611f1c565b95945050505050565b80820180821115610eb957610eb9611fc5565b60008251611e65818460208701611ef8565b60006020828403121561254457600080fd5b8151611d8a81611d08565b602081526000610eb66020830184611f1c56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ced3142810601efbd7c50081eaf37e99d30b6ecfc0264be989a3546801508fa264736f6c6343000813003300000000000000000000000021da9737764527e75c17f1ab26cb668b66dee0a00000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf1270000000000000000000000000fcd300aafe1fdb3166cd1a3b46463144fc2d46ad