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