1 tx
2 calls
constructor
constructor(address _v6Router)
functions
assetsUsed
viewfunction assetsUsed(bytes moduleData) view returns (address[] assets)
baseAsset
purefunction baseAsset(bytes) pure returns (address)
getBalance
purefunction getBalance(bytes) pure returns (uint256)
moduleId
purefunction moduleId() pure returns (bytes32)
oneInchV6Router
viewfunction oneInchV6Router() view returns (address)
slippage
purefunction slippage() pure returns (uint32)
revokeApproval
nonpayablefunction revokeApproval(address asset, address spender)
swapWithOneInch
nonpayablefunction swapWithOneInch(address tokenIn, address tokenOut, uint256 amount, bytes callData)
withdrawERC20
nonpayablefunction withdrawERC20(address token, uint256 amount, address recipient)
events
Swapped
event Swapped(address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut)
errors
ForbiddenReceiver
error ForbiddenReceiver()
InsufficientOutputAmount
error InsufficientOutputAmount(uint256 expected, uint256 actual)
Slippage
error Slippage()
SwapFailed
error SwapFailed(string reason)
UnsupportedAsset
error UnsupportedAsset(address asset)
UserDepositsForbidden
error UserDepositsForbidden()
UserWithdrawalsForbidden
error UserWithdrawalsForbidden()
creation bytecode
0x60a060405234801561000f575f80fd5b50604051610d6c380380610d6c83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b608051610cd46100985f395f818160ee0152818161030f0152818161054701526106f70152610cd45ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063a1308f2711610063578063a1308f2714610110578063aeffddde14610126578063d0fc350114610146578063d3bfe76a14610154578063d805a65714610167575f80fd5b80633e032a3b146100945780635fc3ea0b146100a957806379f51ecf146100be5780639ddf49c2146100e9575b5f80fd5b60405161232881526020015b60405180910390f35b6100bc6100b73660046109bf565b61017a565b005b6100d16100cc366004610a12565b505f90565b6040516001600160a01b0390911681526020016100a0565b6100d17f000000000000000000000000000000000000000000000000000000000000000081565b6101186101f0565b6040519081526020016100a0565b610139610134366004610a12565b610258565b6040516100a09190610abd565b6101186100cc366004610a12565b6100bc610162366004610b09565b6102b2565b6100bc610175366004610b40565b6102ca565b6001600160a01b0381166101d55760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e7420616464726573730000000000000060448201526064015b60405180910390fd5b826101ea6001600160a01b0382168385610579565b50505050565b5f60405160200161023d9060208082526022908201527f537761702057697468204f6e65496e63682056362041646170746f72205620306040820152612e3160f01b606082015260800190565b60405160208183030381529060405280519060200120905090565b604080516001808252818301909252606091602080830190803683370190505090505f815f8151811061028d5761028d610bd7565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6102c66001600160a01b038316825f6105f6565b5050565b846102d58185610672565b9350835f036103005760405163d28d3eb560e01b8152600160048201525f60248201526044016101cc565b6103346001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000866105f6565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610378573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039c9190610beb565b6040516370a0823160e01b815230600482015290915086905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156103e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104099190610beb565b90505f8061041c86858b88878d8d6106f1565b6040516370a0823160e01b815230600482015291935091505f906001600160a01b038816906370a0823190602401602060405180830381865afa158015610465573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104899190610beb565b6104939087610c02565b90508a6001600160a01b03168c6001600160a01b03167fa078c4190abe07940190effc1846be0ccf03ad6007bc9e93f9697d0b460befbb83866040516104e3929190918252602082015260400190565b60405180910390a38a6001600160a01b03168c6001600160a01b03167fa078c4190abe07940190effc1846be0ccf03ad6007bc9e93f9697d0b460befbb8486604051610539929190918252602082015260400190565b60405180910390a361056b877f000000000000000000000000000000000000000000000000000000000000000061091d565b505050505050505050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806101ea5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016101cc565b5f60405163095ea7b360e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806101ea5760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b60448201526064016101cc565b5f5f1982036106e8576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156106bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e19190610beb565b90506106eb565b50805b92915050565b5f805f807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316868660405161072f929190610c21565b5f604051808303815f865af19150503d805f8114610768576040519150601f19603f3d011682016040523d82523d5f602084013e61076d565b606091505b5091509150816107d957805115610798578060405162461bcd60e51b81526004016101cc9190610c30565b604051634ecb9b6d60e01b815260206004820152601560248201527414ddd85c08195e1958dd5d1a5bdb8819985a5b1959605a1b60448201526064016101cc565b8051156107fe57808060200190518101906107f49190610c7c565b90945092506108e6565b6040516370a0823160e01b815230600482015287906001600160a01b038c16906370a0823190602401602060405180830381865afa158015610842573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108669190610beb565b6108709190610c02565b6040516370a0823160e01b81523060048201529094506001600160a01b038c16906370a0823190602401602060405180830381865afa1580156108b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d99190610beb565b6108e39089610c02565b92505b835f0361090f5760405163d28d3eb560e01b8152600160048201525f60248201526044016101cc565b505097509795505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b0382811660248301525f919084169063dd62ed3e90604401602060405180830381865afa15801561096a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098e9190610beb565b11156102c6576102c66001600160a01b038316825f6105f6565b6001600160a01b03811681146109bc575f80fd5b50565b5f805f606084860312156109d1575f80fd5b83356109dc816109a8565b92506020840135915060408401356109f3816109a8565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610a22575f80fd5b813567ffffffffffffffff80821115610a39575f80fd5b818401915084601f830112610a4c575f80fd5b813581811115610a5e57610a5e6109fe565b604051601f8201601f19908116603f01168101908382118183101715610a8657610a866109fe565b81604052828152876020848701011115610a9e575f80fd5b826020860160208301375f928101602001929092525095945050505050565b602080825282518282018190525f9190848201906040850190845b81811015610afd5783516001600160a01b031683529284019291840191600101610ad8565b50909695505050505050565b5f8060408385031215610b1a575f80fd5b8235610b25816109a8565b91506020830135610b35816109a8565b809150509250929050565b5f805f805f60808688031215610b54575f80fd5b8535610b5f816109a8565b94506020860135610b6f816109a8565b935060408601359250606086013567ffffffffffffffff80821115610b92575f80fd5b818801915088601f830112610ba5575f80fd5b813581811115610bb3575f80fd5b896020828501011115610bc4575f80fd5b9699959850939650602001949392505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610bfb575f80fd5b5051919050565b818103818111156106eb57634e487b7160e01b5f52601160045260245ffd5b818382375f9101908152919050565b5f602080835283518060208501525f5b81811015610c5c57858101830151858201604001528201610c40565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215610c8d575f80fd5b50508051602090910151909290915056fea2646970667358221220698797728bec4f360e347ed56815e52206289a1fbb6a0396c230d2553d2bce9e64736f6c63430008180033000000000000000000000000111111125421ca6dc452d289314280a0f8842a65