0 txs
1k calls
constructor
constructor(address _usdc, address _weth, address _op, address _velo, address _factory, address _router)
functions
factory
viewfunction factory() view returns (address)
getOptimalAmountOutMin
viewfunction getOptimalAmountOutMin(tuple[] routes, uint256 amountIn, uint256 points, uint256 slippage) view returns (uint256 amountOutMin)
getOptimalTokenToTokenRoute
viewfunction getOptimalTokenToTokenRoute(address token0, address token1, uint256 amountIn) view returns (tuple[])
op
viewfunction op() view returns (address)
router
viewfunction router() view returns (address)
usdc
viewfunction usdc() view returns (address)
velo
viewfunction velo() view returns (address)
weth
viewfunction weth() view returns (address)
events
No events.
errors
NotEnoughPoints
error NotEnoughPoints()
Unauthorized
error Unauthorized()
creation bytecode
0x6101406040523480156200001257600080fd5b5060405162002342380380620023428339818101604052810190620000389190620001e8565b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508573ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff166101208173ffffffffffffffffffffffffffffffffffffffff168152505050505050505062000284565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001b08262000183565b9050919050565b620001c281620001a3565b8114620001ce57600080fd5b50565b600081519050620001e281620001b7565b92915050565b60008060008060008060c087890312156200020857620002076200017e565b5b60006200021889828a01620001d1565b96505060206200022b89828a01620001d1565b95505060406200023e89828a01620001d1565b94505060606200025189828a01620001d1565b93505060806200026489828a01620001d1565b92505060a06200027789828a01620001d1565b9150509295509295509295565b60805160a05160c05160e051610100516101205161202f62000313600039600081816104a30152818161072701526108770152600081816106ce0152818161082f015281816109500152610bee01526000818161080b0152610bc90152600081816108530152610ba40152600081816101a30152610b5a0152600081816101c70152610b7f015261202f6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c45a01551161005b578063c45a015514610117578063ec1f1f6914610135578063f887ea4014610153578063f969351e1461017157610088565b80633e413bee1461008d5780633fc8cef3146100ab57806350e5a493146100c95780638c7c53ce146100f9575b600080fd5b6100956101a1565b6040516100a291906116b4565b60405180910390f35b6100b36101c5565b6040516100c091906116b4565b60405180910390f35b6100e360048036038101906100de9190611745565b6101e9565b6040516100f091906118c6565b60405180910390f35b610101610809565b60405161010e91906116b4565b60405180910390f35b61011f61082d565b60405161012c91906116b4565b60405180910390f35b61013d610851565b60405161014a91906116b4565b60405180910390f35b61015b610875565b6040516101689190611947565b60405180910390f35b61018b600480360381019061018691906119c7565b610899565b6040516101989190611a5e565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606060006201518062093a8080426102019190611aa8565b4261020c9190611b08565b6102169190611b3c565b6102209190611b08565b905080421061025b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000600267ffffffffffffffff81111561027b5761027a611b70565b5b6040519080825280602002602001820160405280156102b457816020015b6102a16115ad565b8152602001906001900390816102995790505b50905060606000806102c68b8b610b4d565b9150915060005b81811015610588578281600781106102e8576102e7611b9f565b5b6020020151600060028110610300576102ff611b9f565b5b60200201518560008151811061031957610318611b9f565b5b602002602001018190525082816007811061033757610336611b9f565b5b602002015160016002811061034f5761034e611b9f565b5b60200201518560018151811061036857610367611b9f565b5b6020026020010181905250600073ffffffffffffffffffffffffffffffffffffffff168560008151811061039f5761039e611b9f565b5b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff16636801cc30876000815181106103da576103d9611b9f565b5b602002602001015160000151886000815181106103fa576103f9611b9f565b5b6020026020010151602001518960008151811061041a57610419611b9f565b5b6020026020010151604001516040518463ffffffff1660e01b815260040161044493929190611bdd565b602060405180830381865afa158015610461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104859190611c29565b73ffffffffffffffffffffffffffffffffffffffff160315610575577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635509a1ac8b876040518363ffffffff1660e01b81526004016104fc929190611c56565b600060405180830381865afa92505050801561053b57506040513d6000823e3d601f19601f820116820180604052508101906105389190611dbb565b60015b15610575578094505060008460028151811061055a57610559611b9f565b5b6020026020010151905086811115610573578096508197505b505b808061058090611e04565b9150506102cd565b5081866007811061059c5761059b611b9f565b5b60200201516000600281106105b4576105b3611b9f565b5b6020020151846000815181106105cd576105cc611b9f565b5b60200260200101819052508186600781106105eb576105ea611b9f565b5b602002015160016002811061060357610602611b9f565b5b60200201518460018151811061061c5761061b611b9f565b5b60200260200101819052506000600167ffffffffffffffff81111561064457610643611b70565b5b60405190808252806020026020018201604052801561067d57816020015b61066a6115ad565b8152602001906001900390816106625790505b50905060405180608001604052808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168152508160008151811061071a57610719611b9f565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635509a1ac8b836040518363ffffffff1660e01b8152600401610780929190611c56565b600060405180830381865afa15801561079d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906107c69190611dbb565b93506000846001815181106107de576107dd611b9f565b5b602002602001015190508681116107f557856107f7565b815b99505050505050505050509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060028310156108d6576040517fcfd1c46b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600086869050905060005b81811015610b195760008888838181106108fe576108fd611b9f565b5b9050608002018036038101906109149190611ef5565b9050600073ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16036109a7577f0000000000000000000000000000000000000000000000000000000000000000816060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b6000816060015173ffffffffffffffffffffffffffffffffffffffff16636801cc308360000151846020015185604001516040518463ffffffff1660e01b81526004016109f693929190611bdd565b602060405180830381865afa158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a379190611c29565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a7a576000945050505050610b44565b60008173ffffffffffffffffffffffffffffffffffffffff16639e8cc04b84600001518b8b6040518463ffffffff1660e01b8152600401610abd93929190611f22565b602060405180830381865afa158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611f59565b90508098505050508080610b1190611e04565b9150506108e1565b5061271083612710610b2b9190611b08565b86610b369190611f86565b610b409190611fc8565b9150505b95945050505050565b610b55611619565b6000807f0000000000000000000000000000000000000000000000000000000000000000905060007f0000000000000000000000000000000000000000000000000000000000000000905060007f0000000000000000000000000000000000000000000000000000000000000000905060007f0000000000000000000000000000000000000000000000000000000000000000905060007f000000000000000000000000000000000000000000000000000000000000000090508473ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614610eaf5760405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020016001151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087600060078110610cbc57610cbb611b9f565b5b6020020151600060028110610cd457610cd3611b9f565b5b602002018190525060405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087600160078110610d5657610d55611b9f565b5b6020020151600060028110610d6e57610d6d611b9f565b5b602002018190525060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087600060078110610df057610def611b9f565b5b6020020151600160028110610e0857610e07611b9f565b5b602002018190525060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087600160078110610e8a57610e89611b9f565b5b6020020151600160028110610ea257610ea1611b9f565b5b6020020181905250600295505b8373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461116e5760405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020016001151581526020018273ffffffffffffffffffffffffffffffffffffffff16815250878760078110610f5b57610f5a611b9f565b5b6020020151600060028110610f7357610f72611b9f565b5b602002018190525060405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087600188610fef9190611b3c565b6007811061100057610fff611b9f565b5b602002015160006002811061101857611017611b9f565b5b602002018190525060405180608001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087876007811061109957611098611b9f565b5b60200201516001600281106110b1576110b0611b9f565b5b602002018190525060405180608001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff168152508760018861112d9190611b3c565b6007811061113e5761113d611b9f565b5b602002015160016002811061115657611155611b9f565b5b602002018190525060028661116b9190611b3c565b95505b8273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146112e25760405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087876007811061121a57611219611b9f565b5b602002015160006002811061123257611231611b9f565b5b602002018190525060405180608001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff168152508787600781106112b3576112b2611b9f565b5b60200201516001600281106112cb576112ca611b9f565b5b602002018190525085806112de90611e04565b9650505b8173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146115a15760405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016001151581526020018273ffffffffffffffffffffffffffffffffffffffff1681525087876007811061138e5761138d611b9f565b5b60200201516000600281106113a6576113a5611b9f565b5b602002018190525060405180608001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff16815250876001886114229190611b3c565b6007811061143357611432611b9f565b5b602002015160006002811061144b5761144a611b9f565b5b602002018190525060405180608001604052808373ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff168152508787600781106114cc576114cb611b9f565b5b60200201516001600281106114e4576114e3611b9f565b5b602002018190525060405180608001604052808373ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018273ffffffffffffffffffffffffffffffffffffffff16815250876001886115609190611b3c565b6007811061157157611570611b9f565b5b602002015160016002811061158957611588611b9f565b5b602002018190525060028661159e9190611b3c565b95505b50505050509250929050565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060e001604052806007905b611630611646565b8152602001906001900390816116285790505090565b60405180604001604052806002905b61165d6115ad565b8152602001906001900390816116555790505090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061169e82611673565b9050919050565b6116ae81611693565b82525050565b60006020820190506116c960008301846116a5565b92915050565b6000604051905090565b600080fd5b600080fd5b6116ec81611693565b81146116f757600080fd5b50565b600081359050611709816116e3565b92915050565b6000819050919050565b6117228161170f565b811461172d57600080fd5b50565b60008135905061173f81611719565b92915050565b60008060006060848603121561175e5761175d6116d9565b5b600061176c868287016116fa565b935050602061177d868287016116fa565b925050604061178e86828701611730565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6117cd81611693565b82525050565b60008115159050919050565b6117e8816117d3565b82525050565b60808201600082015161180460008501826117c4565b50602082015161181760208501826117c4565b50604082015161182a60408501826117df565b50606082015161183d60608501826117c4565b50505050565b600061184f83836117ee565b60808301905092915050565b6000602082019050919050565b600061187382611798565b61187d81856117a3565b9350611888836117b4565b8060005b838110156118b95781516118a08882611843565b97506118ab8361185b565b92505060018101905061188c565b5085935050505092915050565b600060208201905081810360008301526118e08184611868565b905092915050565b6000819050919050565b600061190d61190861190384611673565b6118e8565b611673565b9050919050565b600061191f826118f2565b9050919050565b600061193182611914565b9050919050565b61194181611926565b82525050565b600060208201905061195c6000830184611938565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261198757611986611962565b5b8235905067ffffffffffffffff8111156119a4576119a3611967565b5b6020830191508360808202830111156119c0576119bf61196c565b5b9250929050565b6000806000806000608086880312156119e3576119e26116d9565b5b600086013567ffffffffffffffff811115611a0157611a006116de565b5b611a0d88828901611971565b95509550506020611a2088828901611730565b9350506040611a3188828901611730565b9250506060611a4288828901611730565b9150509295509295909350565b611a588161170f565b82525050565b6000602082019050611a736000830184611a4f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611ab38261170f565b9150611abe8361170f565b925082611ace57611acd611a79565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b138261170f565b9150611b1e8361170f565b9250828203905081811115611b3657611b35611ad9565b5b92915050565b6000611b478261170f565b9150611b528361170f565b9250828201905080821115611b6a57611b69611ad9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b611bd7816117d3565b82525050565b6000606082019050611bf260008301866116a5565b611bff60208301856116a5565b611c0c6040830184611bce565b949350505050565b600081519050611c23816116e3565b92915050565b600060208284031215611c3f57611c3e6116d9565b5b6000611c4d84828501611c14565b91505092915050565b6000604082019050611c6b6000830185611a4f565b8181036020830152611c7d8184611868565b90509392505050565b6000601f19601f8301169050919050565b611ca082611c86565b810181811067ffffffffffffffff82111715611cbf57611cbe611b70565b5b80604052505050565b6000611cd26116cf565b9050611cde8282611c97565b919050565b600067ffffffffffffffff821115611cfe57611cfd611b70565b5b602082029050602081019050919050565b600081519050611d1e81611719565b92915050565b6000611d37611d3284611ce3565b611cc8565b90508083825260208201905060208402830185811115611d5a57611d5961196c565b5b835b81811015611d835780611d6f8882611d0f565b845260208401935050602081019050611d5c565b5050509392505050565b600082601f830112611da257611da1611962565b5b8151611db2848260208601611d24565b91505092915050565b600060208284031215611dd157611dd06116d9565b5b600082015167ffffffffffffffff811115611def57611dee6116de565b5b611dfb84828501611d8d565b91505092915050565b6000611e0f8261170f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e4157611e40611ad9565b5b600182019050919050565b600080fd5b611e5a816117d3565b8114611e6557600080fd5b50565b600081359050611e7781611e51565b92915050565b600060808284031215611e9357611e92611e4c565b5b611e9d6080611cc8565b90506000611ead848285016116fa565b6000830152506020611ec1848285016116fa565b6020830152506040611ed584828501611e68565b6040830152506060611ee9848285016116fa565b60608301525092915050565b600060808284031215611f0b57611f0a6116d9565b5b6000611f1984828501611e7d565b91505092915050565b6000606082019050611f3760008301866116a5565b611f446020830185611a4f565b611f516040830184611a4f565b949350505050565b600060208284031215611f6f57611f6e6116d9565b5b6000611f7d84828501611d0f565b91505092915050565b6000611f918261170f565b9150611f9c8361170f565b9250828202611faa8161170f565b91508282048414831517611fc157611fc0611ad9565b5b5092915050565b6000611fd38261170f565b9150611fde8361170f565b925082611fee57611fed611a79565b5b82820490509291505056fea264697066735822122067c5bbe40e8eed21c8cbda65eca69cf644ad7c00be094cac681719ccfbc17d7964736f6c634300081300330000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607000000000000000000000000420000000000000000000000000000000000000600000000000000000000000042000000000000000000000000000000000000420000000000000000000000009560e827af36c94d2ac33a39bce1fe78631088db000000000000000000000000f1046053aa5682b4f9a81b5481394da16be5ff5a000000000000000000000000a062ae8a9c5e11aaa026fc2670b0d65ccc8b2858