0 txs
0 calls
constructor
constructor(address _strategy)
functions
allowedAggregators
viewfunction allowedAggregators(address) view returns (bool)
owner
viewfunction owner() view returns (address)
strategy
viewfunction strategy() view returns (address)
renounceOwnership
nonpayablefunction renounceOwnership()
rescue
nonpayablefunction rescue(address _token, address _to, uint256 _amount)
swap
nonpayablefunction swap(address tokenIn, uint256 amountIn, address tokenOut, uint256 minAmountOut, bytes externalData) returns (uint256 amountOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateAggregator
nonpayablefunction updateAggregator(address _aggregator, bool _allowed)
updateStrategy
nonpayablefunction updateStrategy(address _newStrategy)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UniversalSwapperSwap
event UniversalSwapperSwap(address indexed aggregatorUsed, address indexed tokenIn, address indexed tokenOut, uint256 amountIn, uint256 amountOut)
errors
Swapper__BelowMinAmountOut
error Swapper__BelowMinAmountOut()
Swapper__NotWhitelisted
error Swapper__NotWhitelisted()
Swapper__OnlyStrat
error Swapper__OnlyStrat()
Swapper__SwapFail
error Swapper__SwapFail()
Swapper__ZeroAddress
error Swapper__ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b50604051610e1f380380610e1f83398101604081905261002f916100d4565b61003833610084565b6001600160a01b03811661005f57604051631ae0183b60e11b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055610104565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100e657600080fd5b81516001600160a01b03811681146100fd57600080fd5b9392505050565b610d0c806101136000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a8c62e7611610066578063a8c62e7614610100578063af996e2614610113578063b302256d14610126578063daccaf6314610159578063f2fde38b1461016c57600080fd5b806320ff430b14610098578063715018a6146100ad57806384422d71146100b55780638da5cb5b146100db575b600080fd5b6100ab6100a63660046109c4565b61017f565b005b6100ab6101a0565b6100c86100c3366004610a74565b6101b4565b6040519081526020015b60405180910390f35b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100d2565b6001546100e8906001600160a01b031681565b6100ab610121366004610b3b565b6103ee565b610149610134366004610b74565b60026020526000908152604090205460ff1681565b60405190151581526020016100d2565b6100ab610167366004610b74565b610421565b6100ab61017a366004610b74565b610472565b6101876104f0565b61019b6001600160a01b038416838361054a565b505050565b6101a86104f0565b6101b260006105ad565b565b60006101cb6001600160a01b0387163330886105fd565b6001546001600160a01b031633146101f65760405163f3304bc160e01b815260040160405180910390fd5b6000808380602001905181019061020d9190610bc4565b6001600160a01b038216600090815260026020526040902054919350915060ff1661024b576040516323b7146160e21b815260040160405180910390fd5b61025f6001600160a01b038916838961063b565b6000826001600160a01b0316826040516102799190610c51565b6000604051808303816000865af19150503d80600081146102b6576040519150601f19603f3d011682016040523d82523d6000602084013e6102bb565b606091505b50509050806102dd57604051634b4e366b60e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa158015610321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103459190610c6d565b9350858410156103685760405163d702f81f60e01b815260040160405180910390fd5b600154610382906001600160a01b0389811691168661054a565b866001600160a01b0316896001600160a01b0316846001600160a01b03167f4186ee407650cb8c4fc5725e2f5835992611ff34e90eb302bc882b6c7ee3b2d48b886040516103da929190918252602082015260400190565b60405180910390a450505095945050505050565b6103f66104f0565b6001600160a01b03919091166000908152600260205260409020805460ff1916911515919091179055565b6104296104f0565b6001600160a01b03811661045057604051631ae0183b60e11b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61047a6104f0565b6001600160a01b0381166104e45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6104ed816105ad565b50565b6000546001600160a01b031633146101b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104db565b6040516001600160a01b03831660248201526044810182905261019b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610750565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526106359085906323b872dd60e01b90608401610576565b50505050565b8015806106b55750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b39190610c6d565b155b6107205760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104db565b6040516001600160a01b03831660248201526044810182905261019b90849063095ea7b360e01b90606401610576565b60006107a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108229092919063ffffffff16565b80519091501561019b57808060200190518101906107c39190610c86565b61019b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104db565b60606108318484600085610839565b949350505050565b60608247101561089a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104db565b600080866001600160a01b031685876040516108b69190610c51565b60006040518083038185875af1925050503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b509150915061090987838387610914565b979650505050505050565b60608315610980578251610979576001600160a01b0385163b6109795760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104db565b5081610831565b61083183838151156109955781518083602001fd5b8060405162461bcd60e51b81526004016104db9190610ca3565b6001600160a01b03811681146104ed57600080fd5b6000806000606084860312156109d957600080fd5b83356109e4816109af565b925060208401356109f4816109af565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a4457610a44610a05565b604052919050565b600067ffffffffffffffff821115610a6657610a66610a05565b50601f01601f191660200190565b600080600080600060a08688031215610a8c57600080fd5b8535610a97816109af565b9450602086013593506040860135610aae816109af565b925060608601359150608086013567ffffffffffffffff811115610ad157600080fd5b8601601f81018813610ae257600080fd5b8035610af5610af082610a4c565b610a1b565b818152896020838501011115610b0a57600080fd5b816020840160208301376000602083830101528093505050509295509295909350565b80151581146104ed57600080fd5b60008060408385031215610b4e57600080fd5b8235610b59816109af565b91506020830135610b6981610b2d565b809150509250929050565b600060208284031215610b8657600080fd5b8135610b91816109af565b9392505050565b60005b83811015610bb3578181015183820152602001610b9b565b838111156106355750506000910152565b60008060408385031215610bd757600080fd5b8251610be2816109af565b602084015190925067ffffffffffffffff811115610bff57600080fd5b8301601f81018513610c1057600080fd5b8051610c1e610af082610a4c565b818152866020838501011115610c3357600080fd5b610c44826020830160208601610b98565b8093505050509250929050565b60008251610c63818460208701610b98565b9190910192915050565b600060208284031215610c7f57600080fd5b5051919050565b600060208284031215610c9857600080fd5b8151610b9181610b2d565b6020815260008251806020840152610cc2816040850160208701610b98565b601f01601f1916919091016040019291505056fea264697066735822122046eca4aeb42872a0c68ce3058f54e9df2ed42683e02c6a421ab1ab261ce4ac1c64736f6c634300080a00330000000000000000000000007629fc134e5a7febef6340438d96881c8d121f2c