4 txs
5 calls
constructor
constructor(address owner_, address aavePool, address uniV3Router, address sushiRouter, address weth)
functions
ADDRESSES_PROVIDER
viewfunction ADDRESSES_PROVIDER() view returns (address)
emergencyStopped
viewfunction emergencyStopped() view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
POOL
viewfunction POOL() view returns (address)
SUSHI_ROUTER
viewfunction SUSHI_ROUTER() view returns (address)
UNI_V3_ROUTER
viewfunction UNI_V3_ROUTER() view returns (address)
WETH
viewfunction WETH() view returns (address)
emergencyResume
nonpayablefunction emergencyResume()
emergencyStop
nonpayablefunction emergencyStop()
executeFlashLoan
nonpayablefunction executeFlashLoan(address asset, uint256 amount, tuple params)
executeOperation
nonpayablefunction executeOperation(address asset, uint256 amount, uint256 premium, address initiator, bytes params) returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawETH
nonpayablefunction withdrawETH(address to)
withdrawProfits
nonpayablefunction withdrawProfits()
withdrawToken
nonpayablefunction withdrawToken(address token, address to)
events
EmergencyStop
event EmergencyStop(bool stopped)
Executed
event Executed(address indexed initiator, address indexed asset, uint256 amount, uint256 premium, int256 profit)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
Withdrawn
event Withdrawn(address indexed token, uint256 amount, address indexed to)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6101206040523480156200001257600080fd5b5060405162001f1c38038062001f1c83398101604081905262000035916200025a565b846001600160a01b0381166200006657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6200007181620001f1565b50600180556001600160a01b038416620000b95760405162461bcd60e51b815260206004820152600860248201526710905117d413d3d360c21b60448201526064016200005d565b6001600160a01b03831615801590620000da57506001600160a01b03821615155b620001155760405162461bcd60e51b815260206004820152600a6024820152692120a22fa927aaaa22a960b11b60448201526064016200005d565b6001600160a01b038116620001585760405162461bcd60e51b81526020600482015260086024820152670848288beae8aa8960c31b60448201526064016200005d565b6001600160a01b038416608081905260408051630150a5d760e21b81529051630542975c916004808201926020929091908290030181865afa158015620001a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c99190620002da565b6001600160a01b0390811660a05292831660e052908216610100521660c05250620003019050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200025757600080fd5b50565b600080600080600060a086880312156200027357600080fd5b8551620002808162000241565b6020870151909550620002938162000241565b6040870151909450620002a68162000241565b6060870151909350620002b98162000241565b6080870151909250620002cc8162000241565b809150509295509295909350565b600060208284031215620002ed57600080fd5b8151620002fa8162000241565b9392505050565b60805160a05160c05160e05161010051611b826200039a6000396000818161017c01528181610e3901528181610ff301526110c20152600081816102e401528181610e0501528181610e870152610f6c01526000818161034b0152818161075a015281816107f401526108320152600061012d0152600081816102ae015281816103b40152818161068a0152610b090152611b826000f3fe6080604052600436106101125760003560e01c8063690d8320116100a55780638da5cb5b11610074578063ad5c464811610059578063ad5c464814610339578063e2749c961461036d578063f2fde38b1461038757600080fd5b80638da5cb5b1461030657806393c87f031461032457600080fd5b8063690d83201461026a578063715018a61461028a5780637535d2461461029f5780637781f71f146102d257600080fd5b80633aeac4e1116100e15780633aeac4e1146101e557806353f05a0d146102055780635c975abb1461022557806363a599a41461025557600080fd5b80630542975c1461011e5780630c24f4fa1461016a5780631b11d0ff1461019e57806339913e09146101ce57600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017657600080fd5b5061014d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101aa57600080fd5b506101be6101b9366004611542565b6103a7565b6040519015158152602001610161565b3480156101da57600080fd5b506101e3610721565b005b3480156101f157600080fd5b506101e36102003660046115ec565b610897565b34801561021157600080fd5b506101e3610220366004611625565b6109db565b34801561023157600080fd5b5060005474010000000000000000000000000000000000000000900460ff166101be565b34801561026157600080fd5b506101e3610b88565b34801561027657600080fd5b506101e361028536600461168f565b610bf4565b34801561029657600080fd5b506101e3610d2b565b3480156102ab57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061014d565b3480156102de57600080fd5b5061014d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031257600080fd5b506000546001600160a01b031661014d565b34801561033057600080fd5b506101e3610d3f565b34801561034557600080fd5b5061014d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037957600080fd5b506002546101be9060ff1681565b34801561039357600080fd5b506101e36103a236600461168f565b610da0565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104265760405162461bcd60e51b815260206004820152600960248201527f4f4e4c595f504f4f4c000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b038416301461047e5760405162461bcd60e51b815260206004820152600d60248201527f4241445f494e49544941544f5200000000000000000000000000000000000000604482015260640161041d565b600061048c83850185611735565b905080604001516001600160a01b0316886001600160a01b0316146104f35760405162461bcd60e51b815260206004820152601460248201527f504152414d5f41535345545f4d49534d41544348000000000000000000000000604482015260640161041d565b8060e001514211156105475760405162461bcd60e51b815260206004820152600860248201527f444541444c494e45000000000000000000000000000000000000000000000000604482015260640161041d565b60408082015190517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf91906117ed565b9050878110156106215760405162461bcd60e51b815260206004820152601260248201527f494e53554646494349454e545f464c4153480000000000000000000000000000604482015260640161041d565b600061064583600001518460400151856060015186608001518d8860a00151610df4565b9050600061066b8460200151856060015186604001518760800151868960c00151610df4565b905060006106798a8c611835565b90506106af6001600160a01b038d167f0000000000000000000000000000000000000000000000000000000000000000836111c4565b60006106bb8284611848565b604080518e8152602081018e90529081018290529091506001600160a01b038e169032907f7801ed0bb2217703259c294e7a8ba0a2d02c48be9bb62c9eb1f8cb06775e1ac99060600160405180910390a3600196505050505050505b9695505050505050565b6107296112cb565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156107a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cd91906117ed565b905080156108945761081b6107ea6000546001600160a01b031690565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169083611311565b6000546001600160a01b03166001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167fcbcdbdf10631a43cc99c80acace8232649421c3f4f73919f16013d47c83a687a8360405161088b91815260200190565b60405180910390a35b50565b61089f6112cb565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092391906117ed565b9050600081116109755760405162461bcd60e51b815260206004820152600660248201527f4e4f5f42414c0000000000000000000000000000000000000000000000000000604482015260640161041d565b6109896001600160a01b0384168383611311565b816001600160a01b0316836001600160a01b03167fcbcdbdf10631a43cc99c80acace8232649421c3f4f73919f16013d47c83a687a836040516109ce91815260200190565b60405180910390a3505050565b6109e36112cb565b60025460ff1615610a365760405162461bcd60e51b815260206004820152601160248201527f454d455247454e43595f53544f50504544000000000000000000000000000000604482015260640161041d565b610a3e611342565b610a46611397565b610a56606082016040830161168f565b6001600160a01b0316836001600160a01b031614610ab65760405162461bcd60e51b815260206004820152600e60248201527f41535345545f4d49534d41544348000000000000000000000000000000000000604482015260640161041d565b600081604051602001610ac991906118d9565b60408051601f19818403018152908290527f42b0b77c00000000000000000000000000000000000000000000000000000000825291506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906342b0b77c90610b47903090889088908790600090600401611977565b600060405180830381600087803b158015610b6157600080fd5b505af1158015610b75573d6000803e3d6000fd5b5050505050610b8360018055565b505050565b610b906112cb565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556040519081527fcbe1b789cda412d9e1c647ed03d0c71e2f71484be36f9ca2b2a346b29edf1b70906020015b60405180910390a1565b610bfc6112cb565b4780610c4a5760405162461bcd60e51b815260206004820152600660248201527f4e4f5f4554480000000000000000000000000000000000000000000000000000604482015260640161041d565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610c97576040519150601f19603f3d011682016040523d82523d6000602084013e610c9c565b606091505b5050905080610ced5760405162461bcd60e51b815260206004820152600d60248201527f4554485f53454e445f4641494c00000000000000000000000000000000000000604482015260640161041d565b6040518281526001600160a01b038416906000907fcbcdbdf10631a43cc99c80acace8232649421c3f4f73919f16013d47c83a687a906020016109ce565b610d336112cb565b610d3d60006113da565b565b610d476112cb565b600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055604051600081527fcbe1b789cda412d9e1c647ed03d0c71e2f71484be36f9ca2b2a346b29edf1b7090602001610bea565b610da86112cb565b6001600160a01b038116610deb576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240161041d565b610894816113da565b6000610e2a6001600160a01b0387167f0000000000000000000000000000000000000000000000000000000000000000836111c4565b610e5f6001600160a01b0387167f000000000000000000000000000000000000000000000000000000000000000060006111c4565b6000876001811115610e7357610e7361186f565b03610fe457610eac6001600160a01b0387167f0000000000000000000000000000000000000000000000000000000000000000856111c4565b60408051610100810182526001600160a01b0388811682528781166020830190815262ffffff8881168486019081523060608601908152426080870190815260a087018b815260c088018b8152600060e08a0190815299517f414bf38900000000000000000000000000000000000000000000000000000000815289518916600482015296518816602488015293519094166044860152905185166064850152516084840152905160a48301525160c48201529251811660e484015290917f00000000000000000000000000000000000000000000000000000000000000009091169063414bf38990610104016020604051808303816000875af1158015610fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdc91906117ed565b915050611174565b6110186001600160a01b0387167f0000000000000000000000000000000000000000000000000000000000000000856111c4565b604080516002808252606082018352600092602083019080368337019050509050868160008151811061104d5761104d6119f1565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600181518110611081576110816119f1565b6001600160a01b0392831660209182029290920101526040517f38ed17390000000000000000000000000000000000000000000000000000000081526000917f000000000000000000000000000000000000000000000000000000000000000016906338ed1739906110ff9088908890879030904290600401611a20565b6000604051808303816000875af115801561111e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111469190810190611a93565b905080600182516111579190611b39565b81518110611167576111676119f1565b6020026020010151925050505b818110156107175760405162461bcd60e51b815260206004820152600860248201527f534c495050414745000000000000000000000000000000000000000000000000604482015260640161041d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526112438482611442565b6112c5576040516001600160a01b038481166024830152600060448301526112bb91869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611493565b6112c58482611493565b50505050565b6000546001600160a01b03163314610d3d576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161041d565b6040516001600160a01b03838116602483015260448201839052610b8391859182169063a9059cbb90606401611274565b60005474010000000000000000000000000000000000000000900460ff1615610d3d576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600154036113d3576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600155565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000806020600086516020880160008a5af192503d91506000519050828015611487575081156114785780600114611487565b6000866001600160a01b03163b115b93505050505b92915050565b600080602060008451602086016000885af1806114b6576040513d6000823e3d81fd5b50506000513d915081156114ce5780600114156114db565b6001600160a01b0384163b155b156112c5576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161041d565b6001600160a01b038116811461089457600080fd5b803561153d8161151d565b919050565b60008060008060008060a0878903121561155b57600080fd5b86356115668161151d565b9550602087013594506040870135935060608701356115848161151d565b9250608087013567ffffffffffffffff808211156115a157600080fd5b818901915089601f8301126115b557600080fd5b8135818111156115c457600080fd5b8a60208285010111156115d657600080fd5b6020830194508093505050509295509295509295565b600080604083850312156115ff57600080fd5b823561160a8161151d565b9150602083013561161a8161151d565b809150509250929050565b600080600083850361014081121561163c57600080fd5b84356116478161151d565b9350602085013592506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561168157600080fd5b506040840190509250925092565b6000602082840312156116a157600080fd5b81356116ac8161151d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561170b5761170b6116b3565b604052919050565b80356002811061153d57600080fd5b803562ffffff8116811461153d57600080fd5b600061010080838503121561174957600080fd5b6040519081019067ffffffffffffffff8211818310171561176c5761176c6116b3565b8160405261177984611713565b815261178760208501611713565b60208201526040840135915061179c8261151d565b8160408201526117ae60608501611532565b60608201526117bf60808501611722565b608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b6000602082840312156117ff57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561148d5761148d611806565b818103600083128015838313168383128216171561186857611868611806565b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106118d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b61010081016118f0826118eb85611713565b61189e565b6118fc60208401611713565b611909602084018261189e565b5060408301356119188161151d565b6001600160a01b0390811660408401526060840135906119378261151d565b16606083015262ffffff61194d60808501611722565b16608083015260a083013560a083015260c083013560c083015260e083013560e083015292915050565b60006001600160a01b0380881683526020818816602085015286604085015260a06060850152855191508160a085015260005b828110156119c65786810182015185820160c0015281016119aa565b5050600060c0828501015260c0601f19601f830116840101915050610717608083018461ffff169052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611a725784516001600160a01b031683529383019391830191600101611a4d565b50506001600160a01b03969096166060850152505050608001529392505050565b60006020808385031215611aa657600080fd5b825167ffffffffffffffff80821115611abe57600080fd5b818501915085601f830112611ad257600080fd5b815181811115611ae457611ae46116b3565b8060051b9150611af58483016116e2565b8181529183018401918481019088841115611b0f57600080fd5b938501935b83851015611b2d57845182529385019390850190611b14565b98975050505050505050565b8181038181111561148d5761148d61180656fea2646970667358221220d21bc4ea3a1bb115de32dfc800c84679bbc0ef9ed595c8f2925df12f9b783a9664736f6c6343000818003300000000000000000000000091605bb24e35c379a8b6fce1a21f8f56121033bf00000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2