0 txs
103 calls
constructor
constructor()
functions
commonAsset
viewfunction commonAsset() view returns (address)
feePercent
viewfunction feePercent() view returns (uint256)
getConfiguration
viewfunction getConfiguration(address asset, address lendingPool) view returns (tuple)
getVDebtToken
viewfunction getVDebtToken(address asset, address lendingPool) view returns (address)
INTEREST_RATE_MODE
viewfunction INTEREST_RATE_MODE() view returns (uint256)
lockZap
viewfunction lockZap() view returns (address)
ltv
viewfunction ltv(address asset, address lendingPool) view returns (uint256)
MAX_REASONABLE_FEE
viewfunction MAX_REASONABLE_FEE() view returns (uint256)
oracleRouter
viewfunction oracleRouter() view returns (address)
owner
viewfunction owner() view returns (address)
RATIO_DIVISOR
viewfunction RATIO_DIVISOR() view returns (uint256)
treasury
viewfunction treasury() view returns (address)
TWO_POW_16
viewfunction TWO_POW_16() view returns (uint256)
initialize
nonpayablefunction initialize(address _oracleRouter, address _lockZap, uint256 _feePercent, address _treasury)
loop
nonpayablefunction loop(address asset, address lendingPool, uint256 amount, uint256 interestRateMode, uint256 borrowRatio, uint256 loopCount, uint256 amountToZap, bool isBorrow)
renounceOwnership
nonpayablefunction renounceOwnership()
setCommonAsset
nonpayablefunction setCommonAsset(address _commonAsset)
setFeePercent
nonpayablefunction setFeePercent(uint256 _feePercent)
setTreasury
nonpayablefunction setTreasury(address _treasury)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
zapWithBorrow
nonpayablefunction zapWithBorrow(address lendingPool, uint256 amount, address borrower) returns (uint256 liquidity)
events
CommonAssetUpdated
event CommonAssetUpdated(address indexed _commonAsset)
FeePercentUpdated
event FeePercentUpdated(uint256 indexed _feePercent)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TreasuryUpdated
event TreasuryUpdated(address indexed _treasury)
errors
AddressZero
error AddressZero()
InvalidLoopCount
error InvalidLoopCount()
InvalidRatio
error InvalidRatio()
NotAContract
error NotAContract()
NotAuthorized
error NotAuthorized()
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6118b5806100ec6000396000f3fe608060405234801561001057600080fd5b50600436106101175760003560e01c80636a7e9f33116100a85780636a7e9f33146101fb578063715018a6146102045780637ce3489b1461020c5780637fd6f15c1461021f57806383008bd9146102285780638da5cb5b14610230578063a1a8b81314610241578063adafef4914610254578063be20309414610267578063f0f442601461027a578063f2fde38b1461028d57600080fd5b806306346c301461011c578063269510a21461014557806328186c861461015b5780632bc95262146101705780634c215f211461019257806350d664841461019c57806355a29e91146101af57806361d027b3146101c257806365e2c22b146101d55780636a3825d0146101e8575b600080fd5b60655461012f906001600160a01b031681565b60405161013c91906112b8565b60405180910390f35b61014d606481565b60405190815260200161013c565b61016e6101693660046112ef565b6102a0565b005b61018361017e36600461136b565b610571565b6040519051815260200161013c565b61014d6201000081565b61014d6101aa3660046113a4565b6105f2565b60665461012f906001600160a01b031681565b60685461012f906001600160a01b031681565b60695461012f906001600160a01b031681565b61016e6101f63660046113e6565b6107e8565b61014d61271081565b61016e6108a6565b61016e61021a366004611403565b6108ba565b61014d60675481565b61014d600281565b6033546001600160a01b031661012f565b61014d61024f36600461136b565b610920565b61012f61026236600461136b565b610948565b61016e61027536600461141c565b6109c6565b61016e6102883660046113e6565b610bc0565b61016e61029b3660046113e6565b610c4e565b6000841180156102b257506127108411155b6102cf5760405163648564d360e01b815260040160405180910390fd5b826102ed57604051632ffe3c2f60e01b815260040160405180910390fd5b6000808261036d5761030a6001600160a01b038b1633308b610cc4565b61271060016127106067548b6103209190611485565b61032a91906114a4565b61033491906114bc565b61033e91906114e9565b9050801561036d57606854610360906001600160a01b038c8116911683610d35565b61036a81896114bc565b97505b610377898b610d59565b826103e55760405163e8eda9df60e01b81526001600160a01b038a169063e8eda9df906103ae908d908c90339088906004016114fd565b600060405180830381600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b5050505061040a565b856103f26127108a611485565b6103fc91906114e9565b97508761040a575050610567565b60005b8581101561055757612710610422888b611485565b61042c91906114e9565b98508861043857610557565b60405163a415bcad60e01b81526001600160a01b038b169063a415bcad9061046c908e908d908d908990339060040161152a565b600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b505050506127106067548a6104af9190611485565b6104b991906114e9565b915081156104e8576068546104db906001600160a01b038d8116911684610d35565b6104e5828a6114bc565b98505b60405163e8eda9df60e01b81526001600160a01b038b169063e8eda9df9061051a908e908d90339089906004016114fd565b600060405180830381600087803b15801561053457600080fd5b505af1158015610548573d6000803e3d6000fd5b5050505080600101905061040d565b506105638985336105f2565b5050505b5050505050505050565b6040805160208101825260008152905163c44b11f760e01b81526001600160a01b0383169063c44b11f7906105aa9086906004016112b8565b602060405180830381865afa1580156105c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105eb91906115e6565b9392505050565b6000336001600160a01b038316148015906106165750336001600160a01b03851614155b156106345760405163ea8e4eb560e01b815260040160405180910390fd5b82156105eb5760695460405163a415bcad60e01b81526000916001600160a01b038088169263a415bcad92610676921690889060029087908a9060040161152a565b600060405180830381600087803b15801561069057600080fd5b505af11580156106a4573d6000803e3d6000fd5b5050606954606554604051636eb1769f60e11b81526001600160a01b03928316945063dd62ed3e93506106dd9230921690600401611602565b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e919061161c565b61074157606554606954610741916001600160a01b039182169116600019610e79565b606554606954604051632a5a772360e21b81526000600482018190526001600160a01b0389811660248401529283166044830152606482018890526084820181905286831660a483015260c482015291169063a969dc8c9060e4016020604051808303816000875af11580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df919061161c565b95945050505050565b6107f0610f12565b6001600160a01b03811661081757604051639fabe1c160e01b815260040160405180910390fd5b610829816001600160a01b0316610f6c565b610846576040516309ee12d560e01b815260040160405180910390fd5b6069546001600160a01b038281169116146108a357606980546001600160a01b0319166001600160a01b0383169081179091556040517fceb5d6b9a8ba0d69e0fb3260418530c7f1e6b5f6310696731dd63f00bdf85f0e90600090a25b50565b6108ae610f12565b6108b86000610f7b565b565b6108c2610f12565b60648111156108e45760405163648564d360e01b815260040160405180910390fd5b80606754146108a357606781905560405181907f64d1887078a96d281ed60dd69ba75bfb6b5cd2cb4c2d2538b2eb7816a4c646ea90600090a250565b60008061092d8484610571565b8051909150610940906201000090611635565b949350505050565b600080826001600160a01b03166335ea6a75856040518263ffffffff1660e01b815260040161097791906112b8565b61018060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b99190611696565b6101200151949350505050565b600054610100900460ff16158080156109e65750600054600160ff909116105b80610a0757506109f530610f6c565b158015610a07575060005460ff166001145b610a6f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610a92576000805461ff0019166101001790555b6001600160a01b038516610ab957604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038416610ae057604051639fabe1c160e01b815260040160405180910390fd5b6001600160a01b038216610b0757604051639fabe1c160e01b815260040160405180910390fd5b6064831115610b295760405163648564d360e01b815260040160405180910390fd5b610b31610fcd565b606580546001600160a01b038087166001600160a01b03199283161790925560668054888416908316179055606785905560688054928516929091169190911790558015610bb9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610bc8610f12565b6001600160a01b038116610bef57604051639fabe1c160e01b815260040160405180910390fd5b6068546001600160a01b038281169116146108a357606880546001600160a01b0319166001600160a01b0383169081179091556040517f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190600090a250565b610c56610f12565b6001600160a01b038116610cbb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a66565b6108a381610f7b565b6040516001600160a01b0380851660248301528316604482015260648101829052610d2f9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ffc565b50505050565b610d548363a9059cbb60e01b8484604051602401610cf8929190611783565b505050565b604051636eb1769f60e11b81526001600160a01b0382169063dd62ed3e90610d879030908690600401611602565b602060405180830381865afa158015610da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc8919061161c565b610de257610de26001600160a01b03821683600019610e79565b606854604051636eb1769f60e11b81526001600160a01b038084169263dd62ed3e92610e149230921690600401611602565b602060405180830381865afa158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e55919061161c565b610e7557606854610e75906001600160a01b038381169116600019610e79565b5050565b600063095ea7b360e01b8383604051602401610e96929190611783565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ed484826110d1565b610d2f576040516001600160a01b038416602482015260006044820152610f0890859063095ea7b360e01b90606401610cf8565b610d2f8482610ffc565b6033546001600160a01b031633146108b85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a66565b6001600160a01b03163b151590565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610ff45760405162461bcd60e51b8152600401610a669061179c565b6108b861116a565b6000611051826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661119a9092919063ffffffff16565b905080516000148061107257508080602001905181019061107291906117e7565b610d545760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a66565b6000806000846001600160a01b0316846040516110ee9190611830565b6000604051808303816000865af19150503d806000811461112b576040519150601f19603f3d011682016040523d82523d6000602084013e611130565b606091505b509150915081801561115a57508051158061115a57508080602001905181019061115a91906117e7565b80156107df57506107df85610f6c565b600054610100900460ff166111915760405162461bcd60e51b8152600401610a669061179c565b6108b833610f7b565b6060610940848460008585600080866001600160a01b031685876040516111c19190611830565b60006040518083038185875af1925050503d80600081146111fe576040519150601f19603f3d011682016040523d82523d6000602084013e611203565b606091505b50915091506112148783838761121f565b979650505050505050565b606083156112895782516112825761123685610f6c565b6112825760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a66565b5081610940565b610940838381511561129e5781518083602001fd5b8060405162461bcd60e51b8152600401610a66919061184c565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146108a357600080fd5b80151581146108a357600080fd5b600080600080600080600080610100898b03121561130c57600080fd5b8835611317816112cc565b97506020890135611327816112cc565b965060408901359550606089013594506080890135935060a0890135925060c0890135915060e089013561135a816112e1565b809150509295985092959890939650565b6000806040838503121561137e57600080fd5b8235611389816112cc565b91506020830135611399816112cc565b809150509250929050565b6000806000606084860312156113b957600080fd5b83356113c4816112cc565b92506020840135915060408401356113db816112cc565b809150509250925092565b6000602082840312156113f857600080fd5b81356105eb816112cc565b60006020828403121561141557600080fd5b5035919050565b6000806000806080858703121561143257600080fd5b843561143d816112cc565b9350602085013561144d816112cc565b9250604085013591506060850135611464816112cc565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561149f5761149f61146f565b500290565b600082198211156114b7576114b761146f565b500190565b6000828210156114ce576114ce61146f565b500390565b634e487b7160e01b600052601260045260246000fd5b6000826114f8576114f86114d3565b500490565b6001600160a01b03948516815260208101939093529216604082015261ffff909116606082015260800190565b6001600160a01b0395861681526020810194909452604084019290925261ffff166060830152909116608082015260a00190565b604051610180810167ffffffffffffffff8111828210171561159057634e487b7160e01b600052604160045260246000fd5b60405290565b6000602082840312156115a857600080fd5b6040516020810181811067ffffffffffffffff821117156115d957634e487b7160e01b600052604160045260246000fd5b6040529151825250919050565b6000602082840312156115f857600080fd5b6105eb8383611596565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561162e57600080fd5b5051919050565b600082611644576116446114d3565b500690565b80516001600160801b038116811461166057600080fd5b919050565b805164ffffffffff8116811461166057600080fd5b8051611660816112cc565b805160ff8116811461166057600080fd5b600061018082840312156116a957600080fd5b6116b161155e565b6116bb8484611596565b81526116c960208401611649565b60208201526116da60408401611649565b60408201526116eb60608401611649565b60608201526116fc60808401611649565b608082015261170d60a08401611649565b60a082015261171e60c08401611665565b60c082015261172f60e0840161167a565b60e082015261010061174281850161167a565b9082015261012061175484820161167a565b9082015261014061176684820161167a565b90820152610160611778848201611685565b908201529392505050565b6001600160a01b03929092168252602082015260400190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156117f957600080fd5b81516105eb816112e1565b60005b8381101561181f578181015183820152602001611807565b83811115610d2f5750506000910152565b60008251611842818460208701611804565b9190910192915050565b602081526000825180602084015261186b816040850160208701611804565b601f01601f1916919091016040019291505056fea2646970667358221220bc8fa162debe79450061fe72f956317235f18a20637bf99d635054105f687f1f64736f6c634300080c0033