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
0x6080604052348015600f57600080fd5b50604051612216380380612216833981016040819052602c91605e565b600080546001600160a01b039092166001600160a01b031992831617905560018054909116331790556014600255608c565b600060208284031215606f57600080fd5b81516001600160a01b0381168114608557600080fd5b9392505050565b61217b8061009b6000396000f3fe6080604052600436106101005760003560e01c80638da5cb5b1161008f578063ad5c464811610061578063ad5c464814610236578063bc9d487e14610256578063d3e1c28414610276578063fa461e3314610296578063fa483e721461010257005b80638da5cb5b146101be578063923b8a2a14610102578063a13940b0146101f6578063ad3b1b471461021657005b80635e318e07116100d35780635e318e0714610122578063713494d7146101425780637a0f3a2e1461016257806384ae2bc61461018257806389155ef8146101ab57005b8063187806841461010257806323a69e75146101025780632c8958f6146101025780633a1c453c14610102575b005b34801561010e57600080fd5b5061010061011d366004611861565b6102b6565b34801561012e57600080fd5b5061010061013d3660046118b4565b6102c8565b34801561014e57600080fd5b5061010061015d3660046118b4565b610339565b34801561016e57600080fd5b5061010061017d3660046118e5565b6103b0565b34801561018e57600080fd5b5061019860025481565b6040519081526020015b60405180910390f35b6101986101b936600461196c565b610506565b3480156101ca57600080fd5b506001546101de906001600160a01b031681565b6040516001600160a01b0390911681526020016101a2565b34801561020257600080fd5b506101986102113660046119c6565b610743565b34801561022257600080fd5b50610100610231366004611a42565b610949565b34801561024257600080fd5b506000546101de906001600160a01b031681565b34801561026257600080fd5b50610100610271366004611a6e565b6109ef565b34801561028257600080fd5b50610100610291366004611861565b610b63565b3480156102a257600080fd5b506101006102b1366004611861565b610b6b565b6102c284848484610b6b565b50505050565b6001546001600160a01b031633146102fb5760405162461bcd60e51b81526004016102f290611adc565b60405180910390fd5b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610335573d6000803e3d6000fd5b5050565b6001546001600160a01b031633146103635760405162461bcd60e51b81526004016102f290611adc565b60648111156103ab5760405162461bcd60e51b81526020600482015260146024820152734665652063616e6e6f742065786365656420312560601b60448201526064016102f2565b600255565b60008290506000826001600160a01b0316826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104239190611aff565b6001600160a01b031614905060008161045a57610455600173fffd8963efd1fc6a506488495d951d5263988d26611b39565b61046a565b61046a6401000276a36001611b5e565b604051630251596160e31b81523060048201528315156024820152604481018890526001600160a01b03808316606483015260a06084830152600060a48301529192509084169063128acb089060c40160408051808303816000875af11580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc9190611b7d565b5050505050505050565b60008034116105455760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064016102f2565b60008054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b5050505050600061061c348686808060200260200160405190810160405280939291908181526020016000905b82821015610600576105f160608302860136819003810190611c54565b815260200190600101906105d4565b50506000546001600160a01b0316925088915060019050610cd2565b60005491935091506001600160a01b03908116908216036106c857600054604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561067d57600080fd5b505af1158015610691573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156106c2573d6000803e3d6000fd5b5061073b565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015610715573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107399190611c70565b505b509392505050565b6040516323b872dd60e01b8152336004820152306024820152604481018790526000906001600160a01b038516906323b872dd906064016020604051808303816000875af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190611c70565b50600061081f888888808060200260200160405190810160405280939291908181526020016000905b828210156108125761080360608302860136819003810190611c54565b815260200190600101906107e6565b5050505050878787610cd2565b60005491935091506001600160a01b03908116908216036108cb57600054604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f193505050501580156108c5573d6000803e3d6000fd5b5061093e565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190611c70565b505b509695505050505050565b6001546001600160a01b031633146109735760405162461bcd60e51b81526004016102f290611adc565b60015460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303816000875af11580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190611c70565b505050565b60008686868686604051602001610a0a959493929190611c8d565b604051602081830303815290604052905060008290506000856001600160a01b0316826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190611aff565b6001600160a01b0316149050600081610ac557610ac0600173fffd8963efd1fc6a506488495d951d5263988d26611b39565b610ad5565b610ad56401000276a36001611b5e565b90506001600160a01b03831663128acb083084610af18e611d1f565b85896040518663ffffffff1660e01b8152600401610b13959493929190611d8b565b60408051808303816000875af1158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b559190611b7d565b505050505050505050505050565b6102c2838584845b6040819003610c1357600080610b8383850185611de1565b9150915060008115610b96575085610b99565b50845b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a9190611c70565b505050506102c2565b6000819003610c8157600080851215610c3657610c2f85611d1f565b9050610c42565b610c3f84611d1f565b90505b610c4b81611531565b604051602001610c5b9190611e1a565b60408051601f198184030181529082905262461bcd60e51b82526102f291600401611e7f565b6000808080610c9285870187611e92565b9350935093509350600080610cab868686866001610cd2565b91509150610cb882611531565b610cc182611640565b604051602001610c5b929190611f70565b60008060008711610d1c5760405162461bcd60e51b81526020600482015260146024820152730616d6f756e74496e206d757374206265203e20360641b60448201526064016102f2565b8215610dc757600061271060025489610d35919061200f565b610d3f919061203c565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925087169063a9059cbb906044016020604051808303816000875af1158015610d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db89190611c70565b50610dc38189612050565b9750505b508590508360005b8651811015611438576000878281518110610dec57610dec612063565b6020026020010151600001516001600160a01b03163f9050878281518110610e1657610e16612063565b60200260200101516020015115611044576000888381518110610e3b57610e3b612063565b60200260200101516000015190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ead9190611aff565b90506001600160a01b0385811690821614600081610ee957610ee4600173fffd8963efd1fc6a506488495d951d5263988d26611b39565b610ef9565b610ef96401000276a36001611b5e565b9050600080856001600160a01b031663128acb0830868d878e8a604051602001610f3a9291906001600160a01b039290921682521515602082015260400190565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401610f69959493929190611d8b565b60408051808303816000875af1158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab9190611b7d565b91509150831561102957856001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110179190611aff565b985061102281611d1f565b9950611039565b8498508161103690611d1f565b99505b50505050505061142f565b600088838151811061105857611058612063565b60200260200101516000015190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca9190611aff565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111309190611aff565b90506000826001600160a01b0316876001600160a01b031603611154575080611157565b50815b600080600080876001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561119b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bf9190612090565b506001600160701b031691506001600160701b03169150866001600160a01b03168b6001600160a01b0316036111fa57819350809250611201565b8093508192505b50506000808f8a8151811061121857611218612063565b60200260200101516040015190506000612710828e611237919061200f565b611241919061203c565b61124b908e612050565b905061125781866120d5565b611261858361200f565b61126b919061203c565b925050506000866001600160a01b03168b6001600160a01b0316146112905781611293565b60005b90506000876001600160a01b03168c6001600160a01b0316146112b75760006112b9565b825b90508b6001600160a01b031663a9059cbb8a8f6040518363ffffffff1660e01b81526004016112fd9291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561131c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113409190611c70565b5060405163022c0d9f60e01b8152600481018390526024810182905230604482015260806064820152600060848201526001600160a01b038a169063022c0d9f9060a401600060405180830381600087803b15801561139e57600080fd5b505af11580156113b2573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152979d508d976001600160a01b03891692506370a082319150602401602060405180830381865afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906120e8565b9c505050505050505050505b50600101610dcf565b508382101561147d5760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b60448201526064016102f2565b8261152757600061271060025484611495919061200f565b61149f919061203c565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925083169063a9059cbb906044016020604051808303816000875af11580156114f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115189190611c70565b506115238184612050565b9250505b9550959350505050565b6060816000036115585750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611582578061156c81612101565b915061157b9050600a8361203c565b915061155c565b60008167ffffffffffffffff81111561159d5761159d611ba1565b6040519080825280601f01601f1916602001820160405280156115c7576020820181803683370190505b508593509050815b831561163757806115df8161211a565b91506115ee9050600a85612131565b6115f99060306120d5565b60f81b82828151811061160e5761160e612063565b60200101906001600160f81b031916908160001a905350611630600a8561203c565b93506115cf565b50949350505050565b604080518082018252601081526f181899199a1a9b1b9c1cb0b131b232b360811b60208201528151602a80825260608281019094526001600160a01b0385169291600091602082018180368337019050509050600360fc1b816000815181106116ab576116ab612063565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106116da576116da612063565b60200101906001600160f81b031916908160001a90535060005b6014811015611637578260048561170c84600c6120d5565b6020811061171c5761171c612063565b1a60f81b6001600160f81b031916901c60f81c60ff168151811061174257611742612063565b01602001516001600160f81b0319168261175d83600261200f565b6117689060026120d5565b8151811061177857611778612063565b60200101906001600160f81b031916908160001a905350828461179c83600c6120d5565b602081106117ac576117ac612063565b825191901a600f169081106117c3576117c3612063565b01602001516001600160f81b031916826117de83600261200f565b6117e99060036120d5565b815181106117f9576117f9612063565b60200101906001600160f81b031916908160001a9053506001016116f4565b60008083601f84011261182a57600080fd5b50813567ffffffffffffffff81111561184257600080fd5b60208301915083602082850101111561185a57600080fd5b9250929050565b6000806000806060858703121561187757600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561189c57600080fd5b6118a887828801611818565b95989497509550505050565b6000602082840312156118c657600080fd5b5035919050565b6001600160a01b03811681146118e257600080fd5b50565b6000806000606084860312156118fa57600080fd5b83359250602084013561190c816118cd565b9150604084013561191c816118cd565b809150509250925092565b60008083601f84011261193957600080fd5b50813567ffffffffffffffff81111561195157600080fd5b60208301915083602060608302850101111561185a57600080fd5b60008060006040848603121561198157600080fd5b833567ffffffffffffffff81111561199857600080fd5b6119a486828701611927565b909790965060209590950135949350505050565b80151581146118e257600080fd5b60008060008060008060a087890312156119df57600080fd5b86359550602087013567ffffffffffffffff8111156119fd57600080fd5b611a0989828a01611927565b9096509450506040870135611a1d816118cd565b9250606087013591506080870135611a34816119b8565b809150509295509295509295565b60008060408385031215611a5557600080fd5b8235611a60816118cd565b946020939093013593505050565b60008060008060008060a08789031215611a8757600080fd5b86359550602087013567ffffffffffffffff811115611aa557600080fd5b611ab189828a01611927565b9096509450506040870135611ac5816118cd565b9250606087013591506080870135611a34816118cd565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b600060208284031215611b1157600080fd5b8151611b1c816118cd565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038281168282160390811115611b5857611b58611b23565b92915050565b6001600160a01b038181168382160190811115611b5857611b58611b23565b60008060408385031215611b9057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611be057611be0611ba1565b604052919050565b600060608284031215611bfa57600080fd5b6040516060810167ffffffffffffffff81118282101715611c1d57611c1d611ba1565b6040529050808235611c2e816118cd565b81526020830135611c3e816119b8565b6020820152604092830135920191909152919050565b600060608284031215611c6657600080fd5b611b1c8383611be8565b600060208284031215611c8257600080fd5b8151611b1c816119b8565b858152608060208201819052810184905260008560a08301825b87811015611cf6578235611cba816118cd565b6001600160a01b031682526020830135611cd3816119b8565b151560208301526040838101359083015260609283019290910190600101611ca7565b506001600160a01b03861660408501529150611d0f9050565b8260608301529695505050505050565b6000600160ff1b8201611d3457611d34611b23565b5060000390565b60005b83811015611d56578181015183820152602001611d3e565b50506000910152565b60008151808452611d77816020860160208601611d3b565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a060808201819052600090611dc690830184611d5f565b979650505050505050565b8035611ddc816118cd565b919050565b60008060408385031215611df457600080fd5b8235611dff816118cd565b91506020830135611e0f816119b8565b809150509250929050565b69029b4b6bab630ba329d160b51b8152607b60f81b600a820152691130b6b7bab73a111d1160b11b600b8201528151600090611e5d816015850160208701611d3b565b601160f91b6015939091019283015250607d60f81b6016820152601701919050565b602081526000611b1c6020830184611d5f565b60008060008060808587031215611ea857600080fd5b84359350602085013567ffffffffffffffff811115611ec657600080fd5b8501601f81018713611ed757600080fd5b803567ffffffffffffffff811115611ef157611ef1611ba1565b611f0060208260051b01611bb7565b80828252602082019150602060608402850101925089831115611f2257600080fd5b6020840193505b82841015611f4e57611f3b8a85611be8565b8252602082019150606084019350611f29565b9550611f609250505060408601611dd1565b9396929550929360600135925050565b69029b4b6bab630ba329d160b51b8152607b60f81b600a820152691130b6b7bab73a111d1160b11b600b8201528251600090611fb3816015850160208801611d3b565b61088b60f21b6015918401918201526c113a37b5b2b72fb7baba111d1160991b60178201528351611feb816024840160208801611d3b565b601160f91b60249290910191820152607d60f81b6025820152602601949350505050565b8082028115828204841417611b5857611b58611b23565b634e487b7160e01b600052601260045260246000fd5b60008261204b5761204b612026565b500490565b81810381811115611b5857611b58611b23565b634e487b7160e01b600052603260045260246000fd5b80516001600160701b0381168114611ddc57600080fd5b6000806000606084860312156120a557600080fd5b6120ae84612079565b92506120bc60208501612079565b9150604084015163ffffffff8116811461191c57600080fd5b80820180821115611b5857611b58611b23565b6000602082840312156120fa57600080fd5b5051919050565b60006001820161211357612113611b23565b5060010190565b60008161212957612129611b23565b506000190190565b60008261214057612140612026565b50069056fea2646970667358221220ec0554ca317ed42c3fe5e622071ebbdca903eca84099824f0c7fa8715760ad3a64736f6c634300081b00330000000000000000000000004200000000000000000000000000000000000006