1 tx
2 calls
constructor
constructor()
functions
determineOptimalRoutes
viewfunction determineOptimalRoutes(tuple[] tokens) view returns (tuple[] routes)
generateSmartBasketCommands
viewfunction generateSmartBasketCommands(tuple[] tokens, uint256 totalAmount, address recipient, uint256 slippageTolerance) view returns (bytes commands, bytes[] inputs)
getTokenRoutingInfo
viewfunction getTokenRoutingInfo(address token) view returns (bool hasV2, bool hasV3, uint24[] v3FeeTiers, string recommendation)
knownV2Tokens
viewfunction knownV2Tokens(address) view returns (bool)
knownV3Tokens
viewfunction knownV3Tokens(address, uint256) view returns (uint24)
previewRouting
viewfunction previewRouting(tuple[] tokens) view returns (string[] routingTypes, uint24[] feeTiers)
addV2Token
nonpayablefunction addV2Token(address token)
addV3Token
nonpayablefunction addV3Token(address token, uint24 feeTier)
purchaseBasket
payablefunction purchaseBasket(address[] tokens, uint256[] percentages, uint256 slippageBps) payable returns (uint256[] amountsOut)
events
No events.
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b507fc5785182b2db2fcdc553d6e8ed1ed2a82dd0bc2da5463066f789a004836b7f97805460ff1990811660019081179092557fb973317cd3e6c9cd41e59ad3dfe48959ae4af33566905095f6c5aaafb543cbb780549091168217905560208190527f20a26a80040e1f4598c4dcc09d192d644957f35b94d5295735d2b87b289d265380548083018255600a8082047fe7fdacc7af15b38c6fb57c013aeac948a640a54f7afd559e9076a235943f51a19081018054600394849006850261010090810a6064810262ffffff91820219909316929092179092558554808801875584810484018054918690068702840a6101f48181029185021990931617905586548089019097558487049093018054968590068602830a610bb8818102918402199098161790557ffb8ba4e79cfb10cf8c16f38c710eb1c5b80eaac66073c9294604ae6fb89893dd805480890182558581047f8d89a36bb813514f726a0fe1175649237eb85154f0b92aac5b0ae3a417b41d9d9081018054928890068902860a968702968502199092169590951790558054978801815560005283870490920180549390960690930290920a9283029290910219161790556117af806101d66000396000f3fe6080604052600436106100865760003560e01c80635b30e41a116100595780635b30e41a146101935780637f3b8a13146101c15780638712e004146101f1578063c77d8ba614610230578063d712e5f91461027057600080fd5b806314c4569a1461008b5780632ee66e2c146100c45780633249d099146100f257806358ac551014610166575b600080fd5b34801561009757600080fd5b506100ab6100a63660046110b3565b610290565b60405162ffffff90911681526020015b60405180910390f35b3480156100d057600080fd5b506100e46100df366004611121565b6102d8565b6040516100bb9291906111f2565b3480156100fe57600080fd5b5061016461010d366004611268565b6001600160a01b0390911660009081526001602081815260408320805492830181558352909120600a808304909101805462ffffff948516600393909406929092026101000a928302939092021916919091179055565b005b34801561017257600080fd5b50610186610181366004611121565b6105d2565b6040516100bb91906112a7565b34801561019f57600080fd5b506101b36101ae36600461131b565b6106b4565b6040516100bb9291906113c7565b3480156101cd57600080fd5b506101e16101dc3660046113ec565b6106e9565b6040516100bb9493929190611407565b3480156101fd57600080fd5b5061016461020c3660046113ec565b6001600160a01b03166000908152602081905260409020805460ff19166001179055565b34801561023c57600080fd5b5061026061024b3660046113ec565b60006020819052908152604090205460ff1681565b60405190151581526020016100bb565b61028361027e36600461148b565b610864565b6040516100bb91906114fe565b600160205281600052604060002081815481106102ac57600080fd5b90600052602060002090600a9182820401919006600302915091509054906101000a900462ffffff1681565b606080826001600160401b038111156102f3576102f3611542565b60405190808252806020026020018201604052801561032657816020015b60608152602001906001900390816103115790505b509150826001600160401b0381111561034157610341611542565b60405190808252806020026020018201604052801561036a578160200160208202803683370190505b50905060005b838110156105c95760008086868481811061038d5761038d611558565b6103a392602060409092020190810191506113ec565b6001600160a01b0316815260208101919091526040016000205460ff161561042e57604051806040016040528060028152602001612b1960f11b8152508382815181106103f2576103f2611558565b6020026020010181905250600082828151811061041157610411611558565b602002602001019062ffffff16908162ffffff16815250506105b7565b60006001600087878581811061044657610446611558565b61045c92602060409092020190810191506113ec565b6001600160a01b0316815260208101919091526040016000205411156105495760405180604001604052806002815260200161563360f01b8152508382815181106104a9576104a9611558565b6020026020010181905250600160008686848181106104ca576104ca611558565b6104e092602060409092020190810191506113ec565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008154811061051257610512611558565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1682828151811061041157610411611558565b6040518060400160405280600a815260200169158cd7d111519055531560b21b81525083828151811061057e5761057e611558565b6020026020010181905250610bb882828151811061059e5761059e611558565b602002602001019062ffffff16908162ffffff16815250505b806105c181611584565b915050610370565b505b9250929050565b6060816001600160401b038111156105ec576105ec611542565b60405190808252806020026020018201604052801561063e57816020015b60408051608081018252600080825260208083018290529282018190526060820152825260001990920191018161060a5790505b50905060005b828110156106ac5761067c84848381811061066157610661611558565b905060400201803603810190610677919061159d565b610b0b565b82828151811061068e5761068e611558565b602002602001018190525080806106a490611584565b915050610644565b505b92915050565b60608060006106c388886105d2565b90506106ce81610bfd565b92506106dc81878787610cb4565b9150509550959350505050565b6001600160a01b0381166000908152602081815260408083205460018352818420805483518186028101860190945280845260ff9092169493606093849390929183018282801561078357602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff16815260200190600301906020826002010492830192600103820291508084116107485790505b505050505091506000825111925083801561079b5750825b156107da575060408051808201909152601881527f424f54485f415641494c41424c455f5052454645525f56320000000000000000602082015261085d565b8315610804575060408051808201909152600781526656325f4f4e4c5960c81b602082015261085d565b821561082e575060408051808201909152600781526656335f4f4e4c5960c81b602082015261085d565b50604080518082019091526016815275155392d393d5d397d5149657d58cd7d111519055531560521b60208201525b9193509193565b60608483146108b35760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b60448201526064015b60405180910390fd5b846108f55760405162461bcd60e51b8152602060048201526012602482015271139bc81d1bdad95b9cc81c1c9bdd9a59195960721b60448201526064016108aa565b600034116109335760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016108aa565b6000856001600160401b0381111561094d5761094d611542565b60405190808252806020026020018201604052801561099257816020015b604080518082019091526000808252602082015281526020019060019003908161096b5790505b50905060005b86811015610a2c5760405180604001604052808989848181106109bd576109bd611558565b90506020020160208101906109d291906113ec565b6001600160a01b031681526020018787848181106109f2576109f2611558565b90506020020135815250828281518110610a0e57610a0e611558565b60200260200101819052508080610a2490611584565b915050610998565b50600080610a3c83343388610dcc565b9092509050733fc91a3afd70395cd496c647d5a6cc9d4b2b7fad633593564c348484610a6a4261012c611601565b6040518563ffffffff1660e01b8152600401610a8893929190611614565b6000604051808303818588803b158015610aa157600080fd5b505af1158015610ab5573d6000803e3d6000fd5b508b935050506001600160401b038211159050610ad457610ad4611542565b604051908082528060200260200182016040528015610afd578160200160208202803683370190505b509998505050505050505050565b60408051608081018252600080825260208083018281528385018390526060840183905285516001600160a01b039081168552868301519091528551168252819052919091205460ff1615610b6d576001604082015260006060820152919050565b81516001600160a01b031660009081526001602052604090205415610be8576000604080830182905283516001600160a01b03168252600160205281208054909190610bbb57610bbb611558565b60009182526020909120600a8083049091015491066003026101000a900462ffffff166060820152919050565b60006040820152610bb860608201525b919050565b60408051600b60f81b602082015281516001818303018152602190910190915260609060005b83518110156106ac57838181518110610c3e57610c3e611558565b60200260200101516040015115610c7c57604051610c66908390600160fb1b9060200161164a565b6040516020818303038152906040529150610ca2565b604051610c9090839060009060200161164a565b60405160208183030381529060405291505b80610cac81611584565b915050610c23565b6060600085516001610cc69190611601565b6001600160401b03811115610cdd57610cdd611542565b604051908082528060200260200182016040528015610d1057816020015b6060815260200190600190039081610cfb5790505b50604080516002602082015290810187905290915060600160405160208183030381529060405281600081518110610d4a57610d4a611558565b602002602001018190525060005b8651811015610dc057610d86878281518110610d7657610d76611558565b6020026020010151878787610ec1565b82610d92836001611601565b81518110610da257610da2611558565b60200260200101819052508080610db890611584565b915050610d58565b5090505b949350505050565b606080600086516001600160401b03811115610dea57610dea611542565b604051908082528060200260200182016040528015610e3c57816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610e085790505b50905060005b8751811015610e9d57610e6d888281518110610e6057610e60611558565b6020026020010151610b0b565b828281518110610e7f57610e7f611558565b60200260200101819052508080610e9590611584565b915050610e42565b50610ea781610bfd565b9250610eb581878787610cb4565b91505094509492505050565b60606000612710866020015186610ed89190611679565b610ee29190611690565b90506000610ef08285610f28565b9050866040015115610f13578651610f0a90868484610f52565b92505050610dc4565b610f0a8760000151886060015187858561100f565b6000612710610f3783826116b2565b610f419085611679565b610f4b9190611690565b9392505050565b604080516002808252606080830184529260009291906020830190803683370190505090506006602160991b0181600081518110610f9257610f92611558565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110610fc657610fc6611558565b6001600160a01b03909216602092830291909101820152604051610ff5918791879187918691600091016116c5565b604051602081830303815290604052915050949350505050565b604051600360611b602160f91b0160208201526001600160e81b031960e886901b166034820152606086811b6bffffffffffffffffffffffff1916603783015290600090604b016040516020818303038152906040529050848484836000604051602001611081959493929190611738565b60405160208183030381529060405291505095945050505050565b80356001600160a01b0381168114610bf857600080fd5b600080604083850312156110c657600080fd5b6110cf8361109c565b946020939093013593505050565b60008083601f8401126110ef57600080fd5b5081356001600160401b0381111561110657600080fd5b6020830191508360208260061b85010111156105cb57600080fd5b6000806020838503121561113457600080fd5b82356001600160401b0381111561114a57600080fd5b611156858286016110dd565b90969095509350505050565b60005b8381101561117d578181015183820152602001611165565b50506000910152565b6000815180845261119e816020860160208601611162565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b838110156111e757815162ffffff16875295820195908201906001016111c6565b509495945050505050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b8381101561124957605f19888703018552611237868351611186565b9550938201939082019060010161121b565b50508584038187015250505061125f81856111b2565b95945050505050565b6000806040838503121561127b57600080fd5b6112848361109c565b9150602083013562ffffff8116811461129c57600080fd5b809150509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561130e57815180516001600160a01b0316855286810151878601528581015115158686015260609081015162ffffff1690850152608090930192908501906001016112c4565b5091979650505050505050565b60008060008060006080868803121561133357600080fd5b85356001600160401b0381111561134957600080fd5b611355888289016110dd565b9096509450506020860135925061136e6040870161109c565b949793965091946060013592915050565b600081518084526020808501808196508360051b8101915082860160005b8581101561130e5782840389526113b5848351611186565b9885019893509084019060010161139d565b6040815260006113da6040830185611186565b828103602084015261125f818561137f565b6000602082840312156113fe57600080fd5b610f4b8261109c565b8415158152831515602082015260806040820152600061142a60808301856111b2565b828103606084015261143c8185611186565b979650505050505050565b60008083601f84011261145957600080fd5b5081356001600160401b0381111561147057600080fd5b6020830191508360208260051b85010111156105cb57600080fd5b6000806000806000606086880312156114a357600080fd5b85356001600160401b03808211156114ba57600080fd5b6114c689838a01611447565b909750955060208801359150808211156114df57600080fd5b506114ec88828901611447565b96999598509660400135949350505050565b6020808252825182820181905260009190848201906040850190845b818110156115365783518352928401929184019160010161151a565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115965761159661156e565b5060010190565b6000604082840312156115af57600080fd5b604051604081018181106001600160401b03821117156115df57634e487b7160e01b600052604160045260246000fd5b6040526115eb8361109c565b8152602083013560208201528091505092915050565b808201808211156106ae576106ae61156e565b6060815260006116276060830186611186565b8281036020840152611639818661137f565b915050826040830152949350505050565b6000835161165c818460208801611162565b6001600160f81b0319939093169190920190815260010192915050565b80820281158282048414176106ae576106ae61156e565b6000826116ad57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106ae576106ae61156e565b600060a0820160018060a01b0380891684526020888186015287604086015260a0606086015282875180855260c087019150828901945060005b8181101561171d5785518516835294830194918301916001016116ff565b50508094505050505082151560808301529695505050505050565b60018060a01b038616815284602082015283604082015260a06060820152600061176560a0830185611186565b90508215156080830152969550505050505056fea264697066735822122039003b804865e2c29e3564410d04d2b895e6feca14329ea1294334f1f134db7d64736f6c63430008140033