1 tx
3 calls
constructor
constructor(address _nativeToken, address _exchangeProxy, address _tokensReceiver)
functions
EXCHANGE_PROXY
viewfunction EXCHANGE_PROXY() view returns (address)
NATIVE_TOKEN
viewfunction NATIVE_TOKEN() view returns (address)
TOKENS_RECEIVER
viewfunction TOKENS_RECEIVER() view returns (address)
executeLiquidation
nonpayablefunction executeLiquidation(address _flashLoanFrom, address _debtAsset, uint256 _maxDebtToCover, tuple _liquidation, tuple[] _swapsInputs0x) returns (uint256 withdrawCollateral, uint256 repayDebtAssets)
fillQuote
nonpayablefunction fillQuote(address _sellToken, address _spender, bytes _swapCallData)
onFlashLoan
nonpayablefunction onFlashLoan(address, address _debtAsset, uint256 _maxDebtToCover, uint256 _fee, bytes _data) returns (bytes32)
rescueTokens
nonpayablefunction rescueTokens(address _token)
events
TokensRescued
event TokensRescued(address indexed executor, address indexed token, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressZero
error AddressZero()
EmptyRecipient
error EmptyRecipient()
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
NoDebtToCover
error NoDebtToCover()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
STokenNotSupported
error STokenNotSupported()
UnableToRepayFlashloan
error UnableToRepayFlashloan()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60e060405234801561000f575f5ffd5b5060405161164438038061164483398101604081905261002e91610105565b816001600160a01b03811661005657604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b0390811660805283166100835760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166100aa5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100d15760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0392831660c0529082166080521660a05261014f565b6001600160a01b0381168114610102575f5ffd5b50565b5f5f5f60608486031215610117575f5ffd5b8351610122816100ee565b6020850151909350610133816100ee565b6040850151909250610144816100ee565b809150509250925092565b60805160a05160c0516114a26101a25f395f818160df015281816108d80152610b4601525f81816101b0015281816101d70152818161092b0152610bb201525f818161012a01526105f701526114a25ff3fe608060405260043610610070575f3560e01c80636fca4f8f1161004c5780636fca4f8f146101195780637b364c5d1461014c5780638cf1626114610180578063b34cbaf71461019f575f5ffd5b8062ae3bf81461007b57806323e30c8b1461009c57806331f7d964146100ce575f5ffd5b3661007757005b5f5ffd5b348015610086575f5ffd5b5061009a610095366004610dc1565b6101d2565b005b3480156100a7575f5ffd5b506100bb6100b6366004610ddc565b6101ff565b6040519081526020015b60405180910390f35b3480156100d9575f5ffd5b506101017f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c5565b348015610124575f5ffd5b506101017f000000000000000000000000000000000000000000000000000000000000000081565b348015610157575f5ffd5b5061016b610166366004610e7f565b6104a4565b604080519283526020830191909152016100c5565b34801561018b575f5ffd5b5061009a61019a366004610ff9565b610582565b3480156101aa575f5ffd5b506101017f000000000000000000000000000000000000000000000000000000000000000081565b6101fc7f00000000000000000000000000000000000000000000000000000000000000008261071e565b50565b5f808061020e84860186611056565b8151919350915061022a906001600160a01b038a169089610808565b81516020830151604080850151905162a718a960e01b81526001600160a01b0392831660048201528b831660248201529082166044820152606481018a90525f608482015291169062a718a99060a40160408051808303815f875af1158015610295573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102b991906111d1565b5f808260015d5082905d505081516102dc906001600160a01b038a16905f610808565b5f6102e78789611207565b9050886001600160a01b031683602001516001600160a01b0316036103b35760208301516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa15801561034e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610372919061121a565b9050808211156103955760405163602e56ef60e01b815260040160405180910390fd5b60208401516103ad906103a88484611231565b6108cb565b50610461565b6103bc82610950565b6040516370a0823160e01b81523060048201525f906001600160a01b038b16906370a0823190602401602060405180830381865afa158015610400573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610424919061121a565b90508082101561043f5761043a8a8383036108cb565b61045f565b80821461045f5760405163602e56ef60e01b815260040160405180910390fd5b505b6104756001600160a01b038a163383610808565b507f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd99998505050505050505050565b5f5f855f036104c6576040516317ff0e0960e11b815260040160405180910390fd5b876001600160a01b0316635cffe9de3089898989896040516020016104ed9392919061126c565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161051b94939291906113df565b6020604051808303815f875af1158015610537573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055b9190611411565b506105706001600160a01b038816895f610808565b50505f5c9660015c9650945050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301525f19602483015284169063095ea7b3906044016020604051808303815f875af11580156105ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f29190611411565b505f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168360405161062d9190611430565b5f604051808303815f865af19150503d805f8114610666576040519150601f19603f3d011682016040523d82523d5f602084013e61066b565b606091505b5091509150816106a75760408051808201909152601081526f14d5d05417d0d0531317d1905253115160821b60208201526106a79082906109c4565b60405163095ea7b360e01b81526001600160a01b0385811660048301525f602483015286169063095ea7b3906044016020604051808303815f875af11580156106f2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107169190611411565b505050505050565b6001600160a01b03821661074557604051635834d75360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610789573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ad919061121a565b90506107c36001600160a01b03831684836109f6565b6040518181526001600160a01b0383169033907f77023e19c7343ad491fd706c36335ca0e738340a91f29b1fd81e2673d44896c49060200160405180910390a3505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108598482610a2c565b6108c5576040516001600160a01b0384811660248301525f60448301526108bb91869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610acf565b6108c58482610acf565b50505050565b805f036108d6575050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361091c5761091881610b30565b5050565b6109186001600160a01b0383167f0000000000000000000000000000000000000000000000000000000000000000836109f6565b5f5b8151811015610918576109bc82828151811061097057610970611446565b60200260200101515f015183838151811061098d5761098d611446565b6020026020010151602001518484815181106109ab576109ab611446565b602002602001015160400151610582565b600101610952565b8151156109d357815182602001fd5b8060405162461bcd60e51b81526004016109ed919061145a565b60405180910390fd5b6040516001600160a01b03838116602483015260448201839052610a2791859182169063a9059cbb90606401610889565b505050565b5f5f5f846001600160a01b031684604051610a479190611430565b5f604051808303815f865af19150503d805f8114610a80576040519150601f19603f3d011682016040523d82523d5f602084013e610a85565b606091505b5091509150818015610aaf575080511580610aaf575080806020019051810190610aaf9190611411565b8015610ac457505f856001600160a01b03163b115b925050505b92915050565b5f610ae36001600160a01b03841683610bda565b905080515f14158015610b07575080806020019051810190610b059190611411565b155b15610a2757604051635274afe760e01b81526001600160a01b03841660048201526024016109ed565b604051632e1a7d4d60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015610b8f575f5ffd5b505af1158015610ba1573d5f5f3e3d5ffd5b506101fc9250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905082610bee565b6060610be783835f610c88565b9392505050565b80471015610c185760405163cf47918160e01b8152476004820152602481018290526044016109ed565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610c61576040519150601f19603f3d011682016040523d82523d5f602084013e610c66565b606091505b5050905080610a275760405163d6bda27560e01b815260040160405180910390fd5b606081471015610cb45760405163cf47918160e01b8152476004820152602481018390526044016109ed565b5f5f856001600160a01b03168486604051610ccf9190611430565b5f6040518083038185875af1925050503d805f8114610d09576040519150601f19603f3d011682016040523d82523d5f602084013e610d0e565b606091505b5091509150610d1e868383610d28565b9695505050505050565b606082610d3d57610d3882610d84565b610be7565b8151158015610d5457506001600160a01b0384163b155b15610d7d57604051639996b31560e01b81526001600160a01b03851660048201526024016109ed565b5080610be7565b805115610d945780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6001600160a01b03811681146101fc575f5ffd5b5f60208284031215610dd1575f5ffd5b8135610be781610dad565b5f5f5f5f5f5f60a08789031215610df1575f5ffd5b8635610dfc81610dad565b95506020870135610e0c81610dad565b9450604087013593506060870135925060808701356001600160401b03811115610e34575f5ffd5b8701601f81018913610e44575f5ffd5b80356001600160401b03811115610e59575f5ffd5b896020828401011115610e6a575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f5f86880360e0811215610e95575f5ffd5b8735610ea081610dad565b96506020880135610eb081610dad565b9550604088013594506060605f1982011215610eca575f5ffd5b5060608701925060c08701356001600160401b03811115610ee9575f5ffd5b8701601f81018913610ef9575f5ffd5b80356001600160401b03811115610f0e575f5ffd5b8960208260051b8401011115610e6a575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715610f5857610f58610f22565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610f8657610f86610f22565b604052919050565b5f82601f830112610f9d575f5ffd5b81356001600160401b03811115610fb657610fb6610f22565b610fc9601f8201601f1916602001610f5e565b818152846020838601011115610fdd575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f6060848603121561100b575f5ffd5b833561101681610dad565b9250602084013561102681610dad565b915060408401356001600160401b03811115611040575f5ffd5b61104c86828701610f8e565b9150509250925092565b5f5f8284036080811215611068575f5ffd5b6060811215611075575f5ffd5b5061107e610f36565b833561108981610dad565b8152602084013561109981610dad565b602082015260408401356110ac81610dad565b6040820152915060608301356001600160401b038111156110cb575f5ffd5b8301601f810185136110db575f5ffd5b80356001600160401b038111156110f4576110f4610f22565b8060051b61110460208201610f5e565b9182526020818401810192908101908884111561111f575f5ffd5b6020850192505b838310156111c25782356001600160401b03811115611143575f5ffd5b85016060818b03601f19011215611158575f5ffd5b611160610f36565b602082013561116e81610dad565b8152604082013561117e81610dad565b602082015260608201356001600160401b0381111561119b575f5ffd5b6111aa8c602083860101610f8e565b60408301525083525060209283019290910190611126565b80955050505050509250929050565b5f5f604083850312156111e2575f5ffd5b505080516020909101519092909150565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ac957610ac96111f3565b5f6020828403121561122a575f5ffd5b5051919050565b81810381811115610ac957610ac96111f3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f60808201853561127c81610dad565b6001600160a01b03168352602086013561129581610dad565b6001600160a01b0316602084015260408601356112b181610dad565b6001600160a01b031660408401526080606084015283905260a0600584901b83018101908301855f605e1936839003015b878210156113a357868503609f190184528235818112611300575f5ffd5b8901803561130d81610dad565b6001600160a01b03168652602081013561132681610dad565b6001600160a01b03166020870152604081013536829003601e1901811261134b575f5ffd5b016020810190356001600160401b03811115611365575f5ffd5b803603821315611373575f5ffd5b60606040880152611388606088018284611244565b965050506020830192506020840193506001820191506112e2565b509298975050505050505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610d1e908301846113b1565b5f60208284031215611421575f5ffd5b81518015158114610be7575f5ffd5b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52603260045260245ffd5b602081525f610be760208301846113b156fea26469706673582212203e021cb72e6a0d7d7134c6c72c93ad04bf71f8c5d8ce01d60a76da4f5b4e74d764736f6c634300081c003300000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000f75584ef6673ad213a685a1b58cc0330b8ea22cf000000000000000000000000865a1da42d512d8854c7b0599c962f67f5a5a9d9