0 txs
1 call
constructor
constructor(address _WETH)
functions
owner
viewfunction owner() view returns (address)
referralFee
viewfunction referralFee() view returns (uint256)
WETH
viewfunction WETH() view returns (address)
algebraSwapCallback
nonpayablefunction algebraSwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
pancakeV3SwapCallback
nonpayablefunction pancakeV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
performCustomSwap
payablefunction performCustomSwap(tuple[] pools, uint256 minAmountOut) payable returns (uint256 amount)
performCustomSwap
nonpayablefunction performCustomSwap(uint256 amountIn, tuple[] pools, address initialToken, uint256 minAmountOut, bool feeFromInitial) returns (uint256 currentAmount)
setReferralFee
nonpayablefunction setReferralFee(uint256 _referralFee)
simulatePerformCustomSwap
nonpayablefunction simulatePerformCustomSwap(uint256 amountIn, tuple[] pools, address initialToken, uint256 minAmountOut, address simulateUniswapV3Pool)
simulateSingleV3pool
nonpayablefunction simulateSingleV3pool(uint256 amountIn, address pool, address initialToken)
solidlyV3SwapCallback
nonpayablefunction solidlyV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data)
swapCallback
nonpayablefunction swapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data)
swapCallback
nonpayablefunction swapCallback(uint256 amount0Delta, uint256 amount1Delta, bytes _data)
swapX2YCallback
nonpayablefunction swapX2YCallback(uint256 x, uint256 y, bytes data)
swapY2XCallback
nonpayablefunction swapY2XCallback(uint256 x, uint256 y, bytes data)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
withdrawFees
nonpayablefunction withdrawFees(address token, uint256 amount)
withdrawFees
nonpayablefunction withdrawFees(uint256 amount)
events
No events.
errors
No errors.
creation bytecode
0x6080604052348015600f57600080fd5b5060405161232f38038061232f833981016040819052602c91605e565b600080546001600160a01b039092166001600160a01b031992831617905560018054909116331790556014600255608c565b600060208284031215606f57600080fd5b81516001600160a01b0381168114608557600080fd5b9392505050565b6122948061009b6000396000f3fe6080604052600436106101005760003560e01c80638da5cb5b1161008f578063ad5c464811610061578063ad5c464814610236578063bc9d487e14610256578063d3e1c28414610276578063fa461e3314610296578063fa483e721461010257005b80638da5cb5b146101be578063923b8a2a14610102578063a13940b0146101f6578063ad3b1b471461021657005b80635e318e07116100d35780635e318e0714610122578063713494d7146101425780637a0f3a2e1461016257806384ae2bc61461018257806389155ef8146101ab57005b8063187806841461010257806323a69e75146101025780632c8958f6146101025780633a1c453c14610102575b005b34801561010e57600080fd5b5061010061011d366004611941565b6102b6565b34801561012e57600080fd5b5061010061013d366004611994565b6102c8565b34801561014e57600080fd5b5061010061015d366004611994565b610339565b34801561016e57600080fd5b5061010061017d3660046119c5565b6103b0565b34801561018e57600080fd5b5061019860025481565b6040519081526020015b60405180910390f35b6101986101b9366004611a4c565b610506565b3480156101ca57600080fd5b506001546101de906001600160a01b031681565b6040516001600160a01b0390911681526020016101a2565b34801561020257600080fd5b50610198610211366004611aa6565b610743565b34801561022257600080fd5b50610100610231366004611b22565b610949565b34801561024257600080fd5b506000546101de906001600160a01b031681565b34801561026257600080fd5b50610100610271366004611b4e565b6109ef565b34801561028257600080fd5b50610100610291366004611941565b610b63565b3480156102a257600080fd5b506101006102b1366004611941565b610b6b565b6102c284848484610b6b565b50505050565b6001546001600160a01b031633146102fb5760405162461bcd60e51b81526004016102f290611bbc565b60405180910390fd5b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610335573d6000803e3d6000fd5b5050565b6001546001600160a01b031633146103635760405162461bcd60e51b81526004016102f290611bbc565b60648111156103ab5760405162461bcd60e51b81526020600482015260146024820152734665652063616e6e6f742065786365656420312560601b60448201526064016102f2565b600255565b60008290506000826001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104239190611bdf565b6001600160a01b031614905060008161045a57610455600173fffd8963efd1fc6a506488495d951d5263988d26611c19565b61046a565b61046a6401000276a36001611c3e565b604051630251596160e31b81523060048201528315156024820152604481018890526001600160a01b03808316606483015260a06084830152600060a48301529192509084169063128acb089060c40160408051808303816000875af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc9190611c5d565b5050505050505050565b60008034116105455760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016102f2565b60008054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b5050505050600061061c348686808060200260200160405190810160405280939291908181526020016000905b82821015610600576105f160608302860136819003810190611d34565b815260200190600101906105d4565b50506000546001600160a01b0316925088915060019050610cb6565b60005491935091506001600160a01b03908116908216036106c857600054604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561067d57600080fd5b505af1158015610691573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156106c2573d6000803e3d6000fd5b5061073b565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611d50565b505b509392505050565b6040516323b872dd60e01b8152336004820152306024820152604481018790526000906001600160a01b038516906323b872dd906064016020604051808303816000875af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611d50565b50600061081f888888808060200260200160405190810160405280939291908181526020016000905b828210156108125761080360608302860136819003810190611d34565b815260200190600101906107e6565b5050505050878787610cb6565b60005491935091506001600160a01b03908116908216036108cb57600054604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156108c5573d6000803e3d6000fd5b5061093e565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190611d50565b505b509695505050505050565b6001546001600160a01b031633146109735760405162461bcd60e51b81526004016102f290611bbc565b60015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190611d50565b505050565b60008686868686604051602001610a0a959493929190611d6d565b604051602081830303815290604052905060008290506000856001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190611bdf565b6001600160a01b0316149050600081610ac557610ac0600173fffd8963efd1fc6a506488495d951d5263988d26611c19565b610ad5565b610ad56401000276a36001611c3e565b90506001600160a01b03831663128acb083084610af18e611dff565b85896040518663ffffffff1660e01b8152600401610b13959493929190611e6b565b60408051808303816000875af1158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b559190611c5d565b505050505050505050505050565b6102c2838584845b6040819003610c1357600080610b8383850185611ec1565b9150915060008115610b96575085610b99565b50845b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a9190611d50565b505050506102c2565b6000819003610c6557610c2584611611565b610c2e84611611565b604051602001610c3f929190611efa565b60408051601f198184030181529082905262461bcd60e51b82526102f291600401611f98565b6000808080610c7685870187611fab565b9350935093509350600080610c8f868686866001610cb6565b91509150610c9c82611611565b610ca582611720565b604051602001610c3f929190612089565b60008060008711610d005760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016102f2565b8215610dab57600061271060025489610d199190612128565b610d239190612155565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925087169063a9059cbb906044016020604051808303816000875af1158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c9190611d50565b50610da78189612169565b9750505b508590508360005b865181101561151857868181518110610dce57610dce61217c565b60200260200101516020015115610ffc576000878281518110610df357610df361217c565b60200260200101516000015190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e659190611bdf565b90506001600160a01b0384811690821614600081610ea157610e9c600173fffd8963efd1fc6a506488495d951d5263988d26611c19565b610eb1565b610eb16401000276a36001611c3e565b9050600080856001600160a01b031663128acb0830868c878d8a604051602001610ef29291906001600160a01b039290921682521515602082015260400190565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401610f21959493929190611e6b565b60408051808303816000875af1158015610f3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f639190611c5d565b915091508315610fe157856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf9190611bdf565b9750610fda81611dff565b9850610ff1565b84975081610fee90611dff565b98505b505050505050611510565b60008782815181106110105761101061217c565b60200260200101516000015190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561105e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110829190611bdf565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e89190611bdf565b90506000826001600160a01b0316866001600160a01b03160361110c57508061110f565b50815b600080600080876001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611153573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117791906121a9565b506001600160701b031691506001600160701b03169150866001600160a01b03168a6001600160a01b0316036111b2578193508092506111b9565b8093508192505b5050600060018e89815181106111d1576111d161217c565b602002602001015160400151111561124f5760006127108f8a815181106111fa576111fa61217c565b6020026020010151604001516127106112139190612169565b61121d908d612128565b6112279190612155565b905061123381856121ee565b61123d8483612128565b6112479190612155565b915050611360565b8d88815181106112615761126161217c565b6020026020010151604001516001036112ec5760405163ca706bcf60e01b81526001600160a01b038a81166004830152602482018c905288169063ca706bcf90604401602060405180830381865afa1580156112c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e59190612201565b9050611360565b6040516378a051ad60e11b8152600481018b90526001600160a01b038a8116602483015288169063f140a35a90604401602060405180830381865afa158015611339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135d9190612201565b90505b6000866001600160a01b03168a6001600160a01b0316146113815781611384565b60005b90506000876001600160a01b03168b6001600160a01b0316146113a85760006113aa565b825b60405163a9059cbb60e01b81526001600160a01b038b81166004830152602482018f9052919250908c169063a9059cbb906044016020604051808303816000875af11580156113fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114219190611d50565b5060405163022c0d9f60e01b8152600481018390526024810182905230604482015260806064820152600060848201526001600160a01b038a169063022c0d9f9060a401600060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152979c508c976001600160a01b03891692506370a082319150602401602060405180830381865afa1580156114e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115049190612201565b9b505050505050505050505b600101610db3565b508382101561155d5760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b60448201526064016102f2565b82611607576000612710600254846115759190612128565b61157f9190612155565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925083169063a9059cbb906044016020604051808303816000875af11580156115d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f89190611d50565b506116038184612169565b9250505b9550959350505050565b6060816000036116385750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611662578061164c8161221a565b915061165b9050600a83612155565b915061163c565b60008167ffffffffffffffff81111561167d5761167d611c81565b6040519080825280601f01601f1916602001820160405280156116a7576020820181803683370190505b508593509050815b831561171757806116bf81612233565b91506116ce9050600a8561224a565b6116d99060306121ee565b60f81b8282815181106116ee576116ee61217c565b60200101906001600160f81b031916908160001a905350611710600a85612155565b93506116af565b50949350505050565b604080518082018252601081526f181899199a1a9b1b9c1cb0b131b232b360811b60208201528151602a80825260608281019094526001600160a01b0385169291600091602082018180368337019050509050600360fc1b8160008151811061178b5761178b61217c565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106117ba576117ba61217c565b60200101906001600160f81b031916908160001a90535060005b601481101561171757826004856117ec84600c6121ee565b602081106117fc576117fc61217c565b1a60f81b6001600160f81b031916901c60f81c60ff16815181106118225761182261217c565b01602001516001600160f81b0319168261183d836002612128565b6118489060026121ee565b815181106118585761185861217c565b60200101906001600160f81b031916908160001a905350828461187c83600c6121ee565b6020811061188c5761188c61217c565b825191901a600f169081106118a3576118a361217c565b01602001516001600160f81b031916826118be836002612128565b6118c99060036121ee565b815181106118d9576118d961217c565b60200101906001600160f81b031916908160001a9053506001016117d4565b60008083601f84011261190a57600080fd5b50813567ffffffffffffffff81111561192257600080fd5b60208301915083602082850101111561193a57600080fd5b9250929050565b6000806000806060858703121561195757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561197c57600080fd5b611988878288016118f8565b95989497509550505050565b6000602082840312156119a657600080fd5b5035919050565b6001600160a01b03811681146119c257600080fd5b50565b6000806000606084860312156119da57600080fd5b8335925060208401356119ec816119ad565b915060408401356119fc816119ad565b809150509250925092565b60008083601f840112611a1957600080fd5b50813567ffffffffffffffff811115611a3157600080fd5b60208301915083602060608302850101111561193a57600080fd5b600080600060408486031215611a6157600080fd5b833567ffffffffffffffff811115611a7857600080fd5b611a8486828701611a07565b909790965060209590950135949350505050565b80151581146119c257600080fd5b60008060008060008060a08789031215611abf57600080fd5b86359550602087013567ffffffffffffffff811115611add57600080fd5b611ae989828a01611a07565b9096509450506040870135611afd816119ad565b9250606087013591506080870135611b1481611a98565b809150509295509295509295565b60008060408385031215611b3557600080fd5b8235611b40816119ad565b946020939093013593505050565b60008060008060008060a08789031215611b6757600080fd5b86359550602087013567ffffffffffffffff811115611b8557600080fd5b611b9189828a01611a07565b9096509450506040870135611ba5816119ad565b9250606087013591506080870135611b14816119ad565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b600060208284031215611bf157600080fd5b8151611bfc816119ad565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038281168282160390811115611c3857611c38611c03565b92915050565b6001600160a01b038181168382160190811115611c3857611c38611c03565b60008060408385031215611c7057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611cc057611cc0611c81565b604052919050565b600060608284031215611cda57600080fd5b6040516060810167ffffffffffffffff81118282101715611cfd57611cfd611c81565b6040529050808235611d0e816119ad565b81526020830135611d1e81611a98565b6020820152604092830135920191909152919050565b600060608284031215611d4657600080fd5b611bfc8383611cc8565b600060208284031215611d6257600080fd5b8151611bfc81611a98565b858152608060208201819052810184905260008560a08301825b87811015611dd6578235611d9a816119ad565b6001600160a01b031682526020830135611db381611a98565b151560208301526040838101359083015260609283019290910190600101611d87565b506001600160a01b03861660408501529150611def9050565b8260608301529695505050505050565b6000600160ff1b8201611e1457611e14611c03565b5060000390565b60005b83811015611e36578181015183820152602001611e1e565b50506000910152565b60008151808452611e57816020860160208601611e1b565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a060808201819052600090611ea690830184611e3f565b979650505050505050565b8035611ebc816119ad565b919050565b60008060408385031215611ed457600080fd5b8235611edf816119ad565b91506020830135611eef81611a98565b809150509250929050565b69029b4b6bab630ba329d160b51b8152607b60f81b600a8201526a1130b6b7bab73a18111d1160a91b600b8201528251600090611f3e816016850160208801611e1b565b61088b60f21b6016918401918201526a1130b6b7bab73a18911d1160a91b60188201528351611f74816023840160208801611e1b565b601160f91b60239290910191820152607d60f81b6024820152602501949350505050565b602081526000611bfc6020830184611e3f565b60008060008060808587031215611fc157600080fd5b84359350602085013567ffffffffffffffff811115611fdf57600080fd5b8501601f81018713611ff057600080fd5b803567ffffffffffffffff81111561200a5761200a611c81565b61201960208260051b01611c97565b8082825260208201915060206060840285010192508983111561203b57600080fd5b6020840193505b82841015612067576120548a85611cc8565b8252602082019150606084019350612042565b95506120799250505060408601611eb1565b9396929550929360600135925050565b69029b4b6bab630ba329d160b51b8152607b60f81b600a820152691130b6b7bab73a111d1160b11b600b82015282516000906120cc816015850160208801611e1b565b61088b60f21b6015918401918201526c113a37b5b2b72fb7baba111d1160991b60178201528351612104816024840160208801611e1b565b601160f91b60249290910191820152607d60f81b6025820152602601949350505050565b8082028115828204841417611c3857611c38611c03565b634e487b7160e01b600052601260045260246000fd5b6000826121645761216461213f565b500490565b81810381811115611c3857611c38611c03565b634e487b7160e01b600052603260045260246000fd5b80516001600160701b0381168114611ebc57600080fd5b6000806000606084860312156121be57600080fd5b6121c784612192565b92506121d560208501612192565b9150604084015163ffffffff811681146119fc57600080fd5b80820180821115611c3857611c38611c03565b60006020828403121561221357600080fd5b5051919050565b60006001820161222c5761222c611c03565b5060010190565b60008161224257612242611c03565b506000190190565b6000826122595761225961213f565b50069056fea264697066735822122071655c7ea75cfd819dc3adf5b34e826a2b2fed9d7acc7d6be806bd254f56633864736f6c634300081b00330000000000000000000000004200000000000000000000000000000000000006