0 txs
0 calls
constructor
constructor(address aggregator, bool transferToCaller)
functions
AGGREGATOR
viewfunction AGGREGATOR() view returns (address)
TRANSFER_TO_CALLER
viewfunction TRANSFER_TO_CALLER() view returns (bool)
swap
payablefunction swap(tuple swapParams) payable returns (uint256 buyTokenAmountReceived)
events
Swapped
event Swapped(address indexed sellTokenAddress, address indexed buyTokenAddress, uint256 sellAmount, uint256 buyAmount, uint256 buyTokenAmountReceived)
errors
InsufficientBalance
error InsufficientBalance(uint256 balanceNeeded, uint256 balanceAvailable)
InsufficientBuyAmount
error InsufficientBuyAmount()
InsufficientBuyAmountReceived
error InsufficientBuyAmountReceived(uint256 buyTokenAmountReceived, uint256 buyAmount)
InsufficientSellAmount
error InsufficientSellAmount()
SwapFailed
error SwapFailed()
TokenAddressZero
error TokenAddressZero()
creation bytecode
0x60c060405234801561000f575f80fd5b50604051610ba7380380610ba783398101604081905261002e9161006d565b6001600160a01b038216610055576040516381c609f760e01b815260040160405180910390fd5b6001600160a01b03909116608052151560a0526100b4565b5f806040838503121561007e575f80fd5b82516001600160a01b0381168114610094575f80fd5b602084015190925080151581146100a9575f80fd5b809150509250929050565b60805160a051610abf6100e85f395f8181606e015261038a01525f818160b101528181610192015261022f0152610abf5ff3fe608060405260043610610033575f3560e01c80633efe5daa14610037578063aa68da6b1461005d578063eb365adc146100a0575b5f80fd5b61004a6100453660046108ea565b6100eb565b6040519081526020015b60405180910390f35b348015610068575f80fd5b506100907f000000000000000000000000000000000000000000000000000000000000000081565b6040519015158152602001610054565b3480156100ab575f80fd5b506100d37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610054565b60408101515f906001600160a01b0316610118576040516381c609f760e01b815260040160405180910390fd5b81516001600160a01b0316610140576040516381c609f760e01b815260040160405180910390fd5b81602001515f036101645760405163c5dd842560e01b815260040160405180910390fd5b81606001515f03610188576040516363988c1360e01b815260040160405180910390fd5b815160408301515f7f000000000000000000000000000000000000000000000000000000000000000090506101c283828760200151610433565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610206573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022a91906109b8565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876080015160405161026991906109f1565b5f604051808303815f865af19150503d805f81146102a2576040519150601f19603f3d011682016040523d82523d5f602084013e6102a7565b606091505b50509050806102c95760405163081ceff360e41b815260040160405180910390fd5b6102d485845f610433565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015610318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033c91906109b8565b90506103488382610a0c565b96508760600151871015610388576060880151604051634e8984c160e11b815261037f918991600401918252602082015260400190565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156103b9576103b985338961057e565b87604001516001600160a01b0316885f01516001600160a01b03167fa54201e99d8e1488291e015a3af88c7a169bcf4932617ecd9536e1f1ad4351108a602001518b606001518b604051610420939291909283526020830191909152604082015260600190565b60405180910390a3505050505050919050565b8015806104ab5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610485573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a991906109b8565b155b6105165760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161037f565b6040516001600160a01b03831660248201526044810182905261057990849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526105ae565b505050565b6040516001600160a01b03831660248201526044810182905261057990849063a9059cbb60e01b90606401610542565b5f610602826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661067f9092919063ffffffff16565b80519091501561057957808060200190518101906106209190610a31565b6105795760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161037f565b606061068d84845f85610695565b949350505050565b6060824710156106f65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161037f565b5f80866001600160a01b0316858760405161071191906109f1565b5f6040518083038185875af1925050503d805f811461074b576040519150601f19603f3d011682016040523d82523d5f602084013e610750565b606091505b50915091506107618783838761076c565b979650505050505050565b606083156107da5782515f036107d3576001600160a01b0385163b6107d35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161037f565b508161068d565b61068d83838151156107ef5781518083602001fd5b8060405162461bcd60e51b815260040161037f9190610a57565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff8111828210171561084057610840610809565b60405290565b80356001600160a01b038116811461085c575f80fd5b919050565b5f82601f830112610870575f80fd5b813567ffffffffffffffff8082111561088b5761088b610809565b604051601f8301601f19908116603f011681019082821181831017156108b3576108b3610809565b816040528381528660208588010111156108cb575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f602082840312156108fa575f80fd5b813567ffffffffffffffff80821115610911575f80fd5b9083019060e08286031215610924575f80fd5b61092c61081d565b61093583610846565b81526020830135602082015261094d60408401610846565b60408201526060830135606082015260808301358281111561096d575f80fd5b61097987828601610861565b60808301525060a083013582811115610990575f80fd5b61099c87828601610861565b60a08301525060c083013560c082015280935050505092915050565b5f602082840312156109c8575f80fd5b5051919050565b5f5b838110156109e95781810151838201526020016109d1565b50505f910152565b5f8251610a028184602087016109cf565b9190910192915050565b81810381811115610a2b57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215610a41575f80fd5b81518015158114610a50575f80fd5b9392505050565b602081525f8251806020840152610a758160408501602087016109cf565b601f01601f1916919091016040019291505056fea2646970667358221220ac2cc674074afb776211f663d3f9c7708ef1bfe842e84a16793a49d8cbccf8c964736f6c63430008180033000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b07725590000000000000000000000000000000000000000000000000000000000000000