0 txs
19 calls
constructor
constructor(address _vault, address _morphoAddress, (address loanToken, address collateralToken, address oracle, address irm, uint256 lltv) _marketParams)
functions
getBorrowAPY
viewfunction getBorrowAPY() view returns (uint256)
getBorrowed
viewfunction getBorrowed() view returns (uint256)
getBorrowLimit
viewfunction getBorrowLimit() view returns (uint256)
getCollateral
viewfunction getCollateral() view returns (uint256)
getHealthFactor
viewfunction getHealthFactor() view returns (uint256)
getSupplyAPY
viewfunction getSupplyAPY() view returns (uint256)
marketParams
viewfunction marketParams() view returns (address loanToken, address collateralToken, address oracle, address irm, uint256 lltv)
morpho
viewfunction morpho() view returns (address)
ORACLE_PRICE_SCALE
viewfunction ORACLE_PRICE_SCALE() view returns (uint256)
vault
viewfunction vault() view returns (address)
addCollateral
nonpayablefunction addCollateral(uint256 _amount)
borrow
nonpayablefunction borrow(uint256 _amount) returns (uint256)
logStats
nonpayablefunction logStats()
removeCollateral
nonpayablefunction removeCollateral(uint256 _amount)
repay
nonpayablefunction repay(uint256 _amount) returns (uint256)
repayAll
nonpayablefunction repayAll() returns (uint256)
events
AddCollateral
event AddCollateral(uint256 assets)
Borrow
event Borrow(uint256 assets)
LendingStrategyStats
event LendingStrategyStats(uint256 collateral, uint256 borrowed, uint256 supplyAPY, uint256 borrowAPY, uint256 healthFactor)
RemoveCollateral
event RemoveCollateral(uint256 assets)
Repay
event Repay(uint256 assets, uint256 repaid)
errors
Common__OnlyVault
error Common__OnlyVault()
Common__ZeroAmount
error Common__ZeroAmount()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c060405234801561000f575f5ffd5b506040516122f93803806122f983398101604081905261002e91610265565b6001600160a01b03838116608090815283821660a05282515f80546001600160a01b0319908116928516928317909155602085015160018054831691861691909117905560408501516002805483169186169190911790556060850151600380549092169416939093179092558201516004556100ad90835f196100cd565b6001546100c5906001600160a01b0316835f196100cd565b50505061032b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152610125908590839061019116565b61018b57604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526101819186916101da16565b61018b84826101da565b50505050565b5f5f5f5f60205f8651602088015f8a5af192503d91505f5190508280156101d0575081156101c257806001146101d0565b5f866001600160a01b03163b115b9695505050505050565b5f5f60205f8451602086015f885af1806101f9576040513d5f823e3d81fd5b50505f513d9150811561021057806001141561021d565b6001600160a01b0384163b155b1561018b57604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b80516001600160a01b0381168114610260575f5ffd5b919050565b5f5f5f83850360e0811215610278575f5ffd5b6102818561024a565b935061028f6020860161024a565b925060a0603f19820112156102a2575f5ffd5b5060405160a081016001600160401b03811182821017156102d157634e487b7160e01b5f52604160045260245ffd5b80604052506102e26040860161024a565b81526102f06060860161024a565b60208201526103016080860161024a565b604082015261031260a0860161024a565b606082015260c094909401516080850152509093909250565b60805160a051611f136103e65f395f81816101f901528181610450015281816105980152818161068601528181610731015281816107e7015281816108c6015281816109b101528181610cba01528181610d7601528181610e76015281816113d6015281816114130152818161150301528181611557015261160f01525f81816102400152818161026d0152818161031701528181610a3401528181610ad701528181610c1a01528181610ced01526114460152611f135ff3fe608060405234801561000f575f5ffd5b50600436106100dd575f3560e01c8063a5f352b711610084578063a5f352b7146101a8578063b2082124146101b0578063bcc46e83146101c6578063c5ebeaec146101d9578063d459bddc146101ec578063d8fbc833146101f4578063fa3ae6dc14610233578063fbfa77cf1461023b575f5ffd5b80633237c158146100e1578063371fd8e6146100f65780633804ee191461011c578063503d37ea146101245780635c1548fb1461012c5780637b9e68f2146101345780638081e1cf146101985780639f560dd5146101a0575b5f5ffd5b6100f46100ef36600461198d565b610262565b005b61010961010436600461198d565b61030b565b6040519081526020015b60405180910390f35b6101096103e5565b6101096104e0565b6101096104ee565b5f5460015460025460035460045461015d946001600160a01b0390811694811693811692169085565b604080516001600160a01b0396871681529486166020860152928516928401929092529092166060820152608081019190915260a001610113565b61010961063b565b6101096106b3565b610109610871565b6101096ec097ce7bc90715b34b9f100000000081565b6100f46101d436600461198d565b610a29565b6101096101e736600461198d565b610acb565b6100f4610b80565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610113565b610109610c0e565b61021b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ab57604051632c4d4b8560e11b815260040160405180910390fd5b5f81116102cb57604051634b0bd57360e11b815260040160405180910390fd5b6102d481610ca3565b6040518181527f7d93a9ef32ed6f31488a0c11a3161befc451bc6d54c6b25d31ad752aca3221ed906020015b60405180910390a150565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461035557604051632c4d4b8560e11b815260040160405180910390fd5b5f821161037557604051634b0bd57360e11b815260040160405180910390fd5b5f61037e61063b565b90508083106103965761038f610c0e565b9392505050565b5f6103a084610d45565b60408051868152602081018390529192507f552544cb36551120f07c66c5cd4b2987725a0c72198587f2ce796099bb66c58c910160405180910390a19150505b919050565b6040805160a080820183525f80546001600160a01b039081168452600154811660208501526002548116948401949094526003549093166060830152600454608083015290208190604051632e3071cd60e11b8152600481018290529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c60e39a9060240160c060405180830381865afa158015610495573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b991906119ff565b90505f8160400151825f01516104cf9190611ab2565b6001600160801b0316949350505050565b5f6104e9610df8565b905090565b6040805160a080820183525f80546001600160a01b039081168452600180548216602080870191909152600254831686880152600354909216606086015260045460808601529290932084518381528086019095529093909284929082810190803683370190505090506105628230610f69565b815f8151811061057457610574611ad1565b6020908102919091010152604051637784c68560e01b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637784c685906105cd908590600401611ae5565b5f60405180830381865afa1580156105e7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261060e9190810190611b27565b90505f6080825f8151811061062557610625611ad1565b6020908102919091010151901c95945050505050565b6040805160a0810182525f80546001600160a01b039081168352600154811660208401526002548116938301939093526003548316606083015260045460808301529182916106ad917f0000000000000000000000000000000000000000000000000000000000000000169030610fdc565b92915050565b6003545f9081906001600160a01b0316156103e0576040805160a080820183525f80546001600160a01b03908116845260015481166020850152600254811694840194909452600354909316606083015260045460808301529020604051632e3071cd60e11b8152600481018290529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c60e39a9060240160c060405180830381865afa158015610776573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079a91906119ff565b6040805160a0810182525f80546001600160a01b03908116835260015481166020840152600254811693830193909352600354831660608301526004546080830152929350829161080f917f00000000000000000000000000000000000000000000000000000000000000009091169061102e565b5092505091505f815f1461082c5761082782846112a9565b61082e565b5f5b9050610866816108608660a00151670de0b6b3a764000061084f9190611ab2565b6001600160801b0316610860610df8565b906112bd565b979650505050505050565b6040805160a080820183525f80546001600160a01b03908116845260015481166020850152600254811694840194909452600354909316606083015260045460808301529020305f6108ed6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846112d1565b90505f5f6002015f9054906101000a90046001600160a01b03166001600160a01b031663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610942573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109669190611bc4565b6040805160a0810182525f80546001600160a01b039081168352600154811660208401526002548116938301939093526003548316606083015260045460808301529293506109d8917f0000000000000000000000000000000000000000000000000000000000000000169086610fdc565b6004549091505f906109fe9061086086866ec097ce7bc90715b34b9f100000000061137d565b9050815f03610a14575f19965050505050505090565b610a1e8183611393565b965050505050505090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a7257604051632c4d4b8560e11b815260040160405180910390fd5b5f8111610a9257604051634b0bd57360e11b815260040160405180910390fd5b610a9b816113a7565b6040518181527f3fd7e9f48a46e1001791bdcd0f2c21d7a0dac8499e5cfcc2a5213eccee88dbc390602001610300565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b1557604051632c4d4b8560e11b815260040160405180910390fd5b5f8211610b3557604051634b0bd57360e11b815260040160405180910390fd5b5f610b3f8361140f565b90507fb848ae6b1253b6cb77e81464128ce8bd94d3d524fea54e801e0da869784dca3383604051610b7291815260200190565b60405180910390a192915050565b5f610b896104ee565b90505f610b9461063b565b90505f610b9f6106b3565b90505f610baa6104e0565b90505f610bb5610871565b604080518781526020810187905290810185905260608101849052608081018290529091507f2052677bbc9ccac19c3d8f5b553cfbd7ec9137cdd0eea189dcabc4f7333007c49060a00160405180910390a15050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5857604051632c4d4b8560e11b815260040160405180910390fd5b5f610c61611485565b604080515f198152602081018390529192507f552544cb36551120f07c66c5cd4b2987725a0c72198587f2ce796099bb66c58c910160405180910390a1905090565b604051638720316d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638720316d90610d15905f90859030907f000000000000000000000000000000000000000000000000000000000000000090600401611c19565b5f604051808303815f87803b158015610d2c575f5ffd5b505af1158015610d3e573d5f5f3e3d5ffd5b5050505050565b5f8054610d5d906001600160a01b0316333085611695565b6040516320b76e8160e01b81525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320b76e8190610db1908490879082903090600401611c4d565b60408051808303815f875af1158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190611c8e565b509392505050565b6003545f9081906001600160a01b0316156103e0576040805160a080820183525f80546001600160a01b03908116845260015481166020850152600254811694840194909452600354909316606083015260045460808301529020604051632e3071cd60e11b8152600481018290529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635c60e39a9060240160c060405180830381865afa158015610ebb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edf91906119ff565b600354604051638c00bf6b60e01b8152919250610f61916301e13380916001600160a01b031690638c00bf6b90610f1c905f908790600401611cfb565b602060405180830381865afa158015610f37573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f5b9190611bc4565b906116f5565b949350505050565b5f600182846002604051602001610f8a929190918252602082015260400190565b60408051601f1981840301815282825280516020918201206001600160a01b0390941690830152810191909152606001604051602081830303815290604052805190602001205f1c61038f9190611d17565b5f5f610fe98460a0902090565b90505f6110006001600160a01b038716838661175d565b90505f5f61100e888861102e565b90945092506110229150849050838361180a565b98975050505050505050565b5f5f5f5f5f61103e8660a0902090565b604051632e3071cd60e11b8152600481018290529091505f906001600160a01b03891690635c60e39a9060240160c060405180830381865afa158015611086573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110aa91906119ff565b90505f81608001516001600160801b0316426110c69190611d2a565b905080158015906110e3575060408201516001600160801b031615155b80156110fb575060608801516001600160a01b031615155b15611275576060880151604051638c00bf6b60e01b81525f916001600160a01b031690638c00bf6b90611134908c908790600401611d3d565b602060405180830381865afa15801561114f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111739190611bc4565b90505f61119761118383856116f5565b60408601516001600160801b0316906112bd565b90506111a28161182e565b846040018181516111b39190611d8d565b6001600160801b03169052506111c88161182e565b845185906111d7908390611d8d565b6001600160801b0390811690915260a086015116159050611272575f6112138560a001516001600160801b0316836112bd90919063ffffffff16565b90505f61124782875f01516001600160801b03166112319190611d2a565b60208801518491906001600160801b0316611893565b90506112528161182e565b866020018181516112639190611d8d565b6001600160801b031690525050505b50505b508051602082015160408301516060909301516001600160801b039283169b9183169a509282169850911695509350505050565b5f61038f83670de0b6b3a7640000846118b7565b5f61038f8383670de0b6b3a764000061137d565b5f5f6112e56112e08585610f69565b6118d8565b90506080856001600160a01b0316637784c685836040518263ffffffff1660e01b81526004016113159190611ae5565b5f60405180830381865afa15801561132f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526113569190810190611b27565b5f8151811061136757611367611ad1565b6020026020010151901c5f1c9150509392505050565b5f816113898486611dac565b610f619190611dc3565b5f61038f83670de0b6b3a76400008461137d565b6001546113bf906001600160a01b0316333084611695565b60405163238d657960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063238d657990610d15905f9085903090600401611de2565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166350d8cd4b5f855f307f00000000000000000000000000000000000000000000000000000000000000006040518663ffffffff1660e01b8152600401610db1959493929190611e1a565b6040805160a080820183525f80546001600160a01b0390811680855260015482166020808701829052600254841687890181905260035485166060808a018290526004546080808c018290529a8a90208c519a8b018d52968a5293890194909452988701529085019690965293830194909452928391829161152b917f00000000000000000000000000000000000000000000000000000000000000009091169061102e565b6040516349e2903160e11b81526004810188905230602482015291955093505f92506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506393c5206290604401606060405180830381865afa15801561159d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c19190611e56565b602001516001600160801b031690505f6115dc82858561180a565b5f549091506115f6906001600160a01b0316333084611695565b6040516320b76e8160e01b81525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320b76e819061164a908490819088903090600401611c4d565b60408051808303815f875af1158015611665573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116899190611c8e565b50979650505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526116ef908590611921565b50505050565b5f806117018385611dac565b90505f611721828061171c670de0b6b3a76400006002611dac565b61137d565b90505f61173c828461171c670de0b6b3a76400006003611dac565b9050806117498385611d17565b6117539190611d17565b9695505050505050565b5f5f61176c6112e08585610f69565b604051637784c68560e01b81529091506001600160a01b03861690637784c6859061179b908490600401611ae5565b5f60405180830381865afa1580156117b5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526117dc9190810190611b27565b5f815181106117ed576117ed611ad1565b60200260200101515f1c6001600160801b03169150509392505050565b5f610f61611819600185611d17565b611826620f424085611d17565b8691906118b7565b6040805180820190915260148152731b585e081d5a5b9d0c4c8e08195e18d95959195960621b60208201525f906001600160801b0383111561188c5760405162461bcd60e51b81526004016118839190611ebb565b60405180910390fd5b5090919050565b5f610f616118a4620f424084611d17565b6118af600186611d17565b86919061137d565b5f816118c4600182611d2a565b6118ce8587611dac565b6113899190611d17565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061191057611910611ad1565b602090810291909101015292915050565b5f5f60205f8451602086015f885af180611940576040513d5f823e3d81fd5b50505f513d91508115611957578060011415611964565b6001600160a01b0384163b155b156116ef57604051635274afe760e01b81526001600160a01b0385166004820152602401611883565b5f6020828403121561199d575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156119e1576119e16119a4565b604052919050565b80516001600160801b03811681146103e0575f5ffd5b5f60c0828403128015611a10575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715611a3457611a346119a4565b604052611a40836119e9565b8152611a4e602084016119e9565b6020820152611a5f604084016119e9565b6040820152611a70606084016119e9565b6060820152611a81608084016119e9565b6080820152611a9260a084016119e9565b60a08201529392505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160801b0382811682821603908111156106ad576106ad611a9e565b634e487b7160e01b5f52603260045260245ffd5b602080825282518282018190525f918401906040840190835b81811015611b1c578351835260209384019390920191600101611afe565b509095945050505050565b5f60208284031215611b37575f5ffd5b815167ffffffffffffffff811115611b4d575f5ffd5b8201601f81018413611b5d575f5ffd5b805167ffffffffffffffff811115611b7757611b776119a4565b8060051b611b87602082016119b8565b91825260208184018101929081019087841115611ba2575f5ffd5b6020850194505b83851015610866578451825260209485019490910190611ba9565b5f60208284031215611bd4575f5ffd5b5051919050565b80546001600160a01b039081168352600182015481166020840152600282015481166040840152600382015416606083015260040154608090910152565b6101008101611c288287611bdb565b60a08201949094526001600160a01b0392831660c0820152911660e090910152919050565b611c578186611bdb565b60a081019390935260c08301919091526001600160a01b031660e082015261012061010082018190525f9082015261014001919050565b5f5f60408385031215611c9f575f5ffd5b505080516020909101519092909150565b80516001600160801b03908116835260208083015182169084015260408083015182169084015260608083015182169084015260808281015182169084015260a09182015116910152565b6101608101611d0a8285611bdb565b61038f60a0830184611cb0565b808201808211156106ad576106ad611a9e565b818103818111156106ad576106ad611a9e565b82516001600160a01b0390811682526020808501518216908301526040808501518216908301526060808501519091169082015260808084015190820152610160810161038f60a0830184611cb0565b6001600160801b0381811683821601908111156106ad576106ad611a9e565b80820281158282048414176106ad576106ad611a9e565b5f82611ddd57634e487b7160e01b5f52601260045260245ffd5b500490565b611dec8185611bdb565b60a08101929092526001600160a01b031660c082015261010060e082018190525f9082015261012001919050565b6101208101611e298288611bdb565b60a082019590955260c08101939093526001600160a01b0391821660e08401521661010090910152919050565b5f6060828403128015611e67575f5ffd5b506040516060810167ffffffffffffffff81118282101715611e8b57611e8b6119a4565b60405282518152611e9e602084016119e9565b6020820152611eaf604084016119e9565b60408201529392505050565b602081525f82518060208401525f5b81811015611ee75760208186018101516040868401015201611eca565b505f604082850101526040601f19601f8301168401019150509291505056fea164736f6c634300081c000a00000000000000000000000011de0d18e4982b09b8f8d80700405da2e58285c9000000000000000000000000bbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000cbb7c0000ab88b473b1f5afd9ef808440eed33bf000000000000000000000000a6d6950c9f177f1de7f7757fb33539e3ec60182a000000000000000000000000870ac11d48b15db9a138cf899d20f13f79ba00bc0000000000000000000000000000000000000000000000000bef55718ad60000