0 txs
488 calls
constructor
constructor()
functions
checker
viewfunction checker() view returns (bool canExec, bytes execPayload)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
harvestInterest
nonpayablefunction harvestInterest()
initialize
nonpayablefunction initialize(address _accessControl, address _asset, address _cusd, address _feeAuction, address _feeReceiver, address _harvester, address _lender, address _balancerVault, address _excessReceiver)
receiveFlashLoan
nonpayablefunction receiveFlashLoan(address[], uint256[] amounts, uint256[] feeAmounts, bytes)
setExcessReceiver
nonpayablefunction setExcessReceiver(address _excessReceiver)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
ExcessReceiverSet
event ExcessReceiverSet(address excessReceiver)
HarvestedInterest
event HarvestedInterest(uint256 timestamp)
Initialized
event Initialized(uint64 version)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessDenied
error AccessDenied()
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidFlashLoan
error InvalidFlashLoan()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516120626100f95f395f8181610f0401528181610f2d015261107a01526120625ff3fe608060405260043610610084575f3560e01c8063cf5303cf11610057578063cf5303cf14610120578063de0171ed14610142578063f04f270714610156578063f1a392da14610175578063f5e95acb146101a8575f5ffd5b8063206fdbc9146100885780634f1ef286146100a957806352d1902d146100bc578063ad3cb1cc146100e3575b5f5ffd5b348015610093575f5ffd5b506100a76100a2366004611a23565b6101c7565b005b6100a76100b7366004611aef565b61025d565b3480156100c7575f5ffd5b506100d061027c565b6040519081526020015b60405180910390f35b3480156100ee575f5ffd5b50610113604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100da9190611b6a565b34801561012b575f5ffd5b50610134610297565b6040516100da929190611b7c565b34801561014d575f5ffd5b506100a76104f9565b348015610161575f5ffd5b506100a7610170366004611c2b565b610619565b348015610180575f5ffd5b507fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce08546100d0565b3480156101b3575f5ffd5b506100a76101c2366004611d44565b610bdf565b63206fdbc960e01b6101d881610e39565b7fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce0780546001600160a01b0384166001600160a01b0319909116811790915560408051918252515f51602061200d5f395f51905f52917f8a996761eafbc8581207cdfda41c537c03f3fc00fa3e69274815fd6f5fec77b3919081900360200190a1505050565b610265610ef9565b61026e82610f9f565b6102788282610fa9565b5050565b5f61028561106f565b505f516020611fed5f395f51905f5290565b7fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce08545f906060905f51602061200d5f395f51905f529062015180906102dc9042611e0e565b11156103155750506040805160048152602481019091526020810180516001600160e01b031663de0171ed60e01b179052600192909150565b805460028201546040516370a0823160e01b81526001600160a01b0391821660048201525f9291909116906370a0823190602401602060405180830381865afa158015610364573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103889190611e21565b90505f826002015f9054906101000a90046001600160a01b03166001600160a01b0316639d1b464a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103dd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104019190611e21565b6001840154845460405163032ba1c560e31b81526001600160a01b039182166004820152602481018690529293505f9291169063195d0e28906044016040805180830381865afa158015610457573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047b9190611e38565b5090508181119550856104c657505060408051808201909152601781527f4e6f7420656e6f756768206355534420746f206d696e740000000000000000006020820152939492505050565b50506040805160048152602481019091526020810180516001600160e01b031663de0171ed60e01b179052939492505050565b63de0171ed60e01b61050a81610e39565b7fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce04545f51602061200d5f395f51905f5280547fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce01549192610579926001600160a01b0391821692821691166110b8565b60058101548154610596916001600160a01b039081169116611130565b60068101546001820154600283015483546105c3936001600160a01b039081169381169281169116611212565b60038101546105da906001600160a01b0316611479565b42600882018190556040519081527f9e1913e0421a7634452573441758d3e82f5a481e0c813816b0dcc752e146dcc09060200160405180910390a15050565b63f04f270760e01b61062a81610e39565b7fe6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce09545f51602061200d5f395f51905f529060ff1661067b5760405163bafe1c5360e01b815260040160405180910390fd5b80546001820154610698916001600160a01b03908116911661155a565b600181015460028201546106b8916001600160a01b03908116911661155a565b600281015460408051634e8da32560e11b815290515f926001600160a01b031691639d1b464a9160048083019260209291908290030181865afa158015610701573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107259190611e21565b6001830154835488519293506001600160a01b039182169263a4450587929091169089905f9061075757610757611e5a565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044810184905230606482015242608482015260a4016020604051808303815f875af11580156107bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e19190611e21565b506040805160018082528183019092525f91602080830190803683375050845482519293506001600160a01b0316918391505f9061082157610821611e5a565b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092525f9181602001602082028036833701905050845460028601546040516370a0823160e01b81526001600160a01b03918216600482015292935016906370a0823190602401602060405180830381865afa1580156108a8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cc9190611e21565b815f815181106108de576108de611e5a565b602090810291909101015260028401546040516350b7d75560e11b81526001600160a01b039091169063a16faeaa906109239086908690869030904290600401611ee1565b5f604051808303815f87803b15801561093a575f5ffd5b505af115801561094c573d5f5f3e3d5ffd5b5050505060018401546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610998573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bc9190611e21565b90508015610ad4576001850154855460405163b7c4a6bf60e01b81526001600160a01b039182166004820152602481018490525f92919091169063b7c4a6bf906044016040805180830381865afa158015610a19573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3d9190611e38565b5090508015610ad25760018601548654604051635612798760e01b81526001600160a01b039182166004820152602481018590526044810184905230606482015242608482015291169063561279879060a4016020604051808303815f875af1158015610aac573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad09190611e21565b505b505b60068501548851610b37916001600160a01b0316908a905f90610af957610af9611e5a565b60200260200101518b5f81518110610b1357610b13611e5a565b6020026020010151610b259190611f29565b87546001600160a01b031691906115e9565b84546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610b7c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba09190611e21565b90508015610bc65760078601548654610bc6916001600160a01b039182169116836115e9565b5050506009909201805460ff1916905550505050505050565b5f610be8611648565b805490915060ff600160401b820416159067ffffffffffffffff165f81158015610c0f5750825b90505f8267ffffffffffffffff166001148015610c2b5750303b155b905081158015610c39575080155b15610c575760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c8157845460ff60401b1916600160401b1785555b610c8a8e611672565b610c92611686565b5f5f51602061200d5f395f51905f5290508d815f015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508c816001015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508b816002015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508a816003015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555089816004015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555088816005015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555087816006015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555086816007015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550508315610e2957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050505050505050565b5f7fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b0054604051633657648360e21b81526001600160e01b0319841660048201523060248201523360448201526001600160a01b039091169063d95d920c90606401602060405180830381865afa158015610eb5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed99190611f3c565b90508061027857604051634ca8886760e01b815260040160405180910390fd5b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f7f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f735f516020611fed5f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15610f9d5760405163703e46dd60e11b815260040160405180910390fd5b565b5f61027881610e39565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611003575060408051601f3d908101601f1916820190925261100091810190611e21565b60015b61103057604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b5f516020611fed5f395f51905f52811461106057604051632a87526960e21b815260048101829052602401611027565b61106a838361168e565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f9d5760405163703e46dd60e11b815260040160405180910390fd5b6040516366cc185760e01b81526001600160a01b03838116600483015282811660248301528416906366cc1857906044016060604051808303815f875af1925050508015611123575060408051601f3d908101601f1916820190925261112091810190611f5b565b60015b1561106a57505050505050565b6040516359c9727360e01b81526001600160a01b0382811660048301525f91908416906359c9727390602401602060405180830381865afa158015611177573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119b9190611e21565b9050801561106a57604051631bedcf9960e31b81526001600160a01b03838116600483015284169063df6e7cc8906024016020604051808303815f875af11580156111e8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120c9190611e21565b50505050565b5f5f51602061200d5f395f51905f526040516370a0823160e01b81526001600160a01b0385811660048301529192505f918416906370a0823190602401602060405180830381865afa15801561126a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061128e9190611e21565b90505f846001600160a01b0316639d1b464a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f19190611e21565b60405163032ba1c560e31b81526001600160a01b038681166004830152602482018590529192505f9188169063195d0e28906044016040805180830381865afa158015611340573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113649190611e38565b5090508181111561146f576040805160018082528183019092525f916020808301908036833701905050905085815f815181106113a3576113a3611e5a565b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092525f9181602001602082028036833701905050905084815f815181106113f2576113f2611e5a565b602090810291909101015260098601805460ff19166001179055604051632e1c224f60e11b81528a906001600160a01b03821690635c38449e9061143e90309087908790600401611f86565b5f604051808303815f87803b158015611455575f5ffd5b505af1158015611467573d5f5f3e3d5ffd5b505050505050505b5050505050505050565b5f5f51602061200d5f395f51905f52600181015460038201546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa1580156114db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114ff9190611e21565b9050801561106a57826001600160a01b031663e4fc6b6d6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561153f575f5ffd5b505af1158015611551573d5f5f3e3d5ffd5b50505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b0382811660248301525f919084169063dd62ed3e90604401602060405180830381865afa1580156115a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cb9190611e21565b9050805f0361106a5761106a6001600160a01b038416835f196116e3565b6040516001600160a01b0383811660248301526044820183905261106a91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061176e565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b61167a6117da565b611683816117ff565b50565b610f9d6117da565b6116978261184b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156116db5761106a8282611894565b610278611906565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526117348482611925565b61120c576040516001600160a01b0384811660248301525f604483015261176891869182169063095ea7b390606401611616565b61120c84825b5f5f60205f8451602086015f885af18061178d576040513d5f823e3d81fd5b50505f513d915081156117a45780600114156117b1565b6001600160a01b0384163b155b1561120c57604051635274afe760e01b81526001600160a01b0385166004820152602401611027565b6117e261196e565b610f9d57604051631afcd79f60e31b815260040160405180910390fd5b6118076117da565b807fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b005b80546001600160a01b0319166001600160a01b039290921691909117905550565b806001600160a01b03163b5f0361188057604051634c9c8ce360e01b81526001600160a01b0382166004820152602401611027565b805f516020611fed5f395f51905f5261182a565b60605f5f846001600160a01b0316846040516118b09190611fd6565b5f60405180830381855af49150503d805f81146118e8576040519150601f19603f3d011682016040523d82523d5f602084013e6118ed565b606091505b50915091506118fd858383611987565b95945050505050565b3415610f9d5760405163b398979f60e01b815260040160405180910390fd5b5f5f5f5f60205f8651602088015f8a5af192503d91505f519050828015611964575081156119565780600114611964565b5f866001600160a01b03163b115b9695505050505050565b5f611977611648565b54600160401b900460ff16919050565b60608261199c57611997826119e6565b6119df565b81511580156119b357506001600160a01b0384163b155b156119dc57604051639996b31560e01b81526001600160a01b0385166004820152602401611027565b50805b9392505050565b8051156119f65780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6001600160a01b0381168114611683575f5ffd5b5f60208284031215611a33575f5ffd5b81356119df81611a0f565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611a7b57611a7b611a3e565b604052919050565b5f82601f830112611a92575f5ffd5b813567ffffffffffffffff811115611aac57611aac611a3e565b611abf601f8201601f1916602001611a52565b818152846020838601011115611ad3575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215611b00575f5ffd5b8235611b0b81611a0f565b9150602083013567ffffffffffffffff811115611b26575f5ffd5b611b3285828601611a83565b9150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6119df6020830184611b3c565b8215158152604060208201525f611b966040830184611b3c565b949350505050565b5f67ffffffffffffffff821115611bb757611bb7611a3e565b5060051b60200190565b5f82601f830112611bd0575f5ffd5b8135611be3611bde82611b9e565b611a52565b8082825260208201915060208360051b860101925085831115611c04575f5ffd5b602085015b83811015611c21578035835260209283019201611c09565b5095945050505050565b5f5f5f5f60808587031215611c3e575f5ffd5b843567ffffffffffffffff811115611c54575f5ffd5b8501601f81018713611c64575f5ffd5b8035611c72611bde82611b9e565b8082825260208201915060208360051b850101925089831115611c93575f5ffd5b6020840193505b82841015611cbe578335611cad81611a0f565b825260209384019390910190611c9a565b9650505050602085013567ffffffffffffffff811115611cdc575f5ffd5b611ce887828801611bc1565b935050604085013567ffffffffffffffff811115611d04575f5ffd5b611d1087828801611bc1565b925050606085013567ffffffffffffffff811115611d2c575f5ffd5b611d3887828801611a83565b91505092959194509250565b5f5f5f5f5f5f5f5f5f6101208a8c031215611d5d575f5ffd5b8935611d6881611a0f565b985060208a0135611d7881611a0f565b975060408a0135611d8881611a0f565b965060608a0135611d9881611a0f565b955060808a0135611da881611a0f565b945060a08a0135611db881611a0f565b935060c08a0135611dc881611a0f565b925060e08a0135611dd881611a0f565b91506101008a0135611de981611a0f565b809150509295985092959850929598565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561166c5761166c611dfa565b5f60208284031215611e31575f5ffd5b5051919050565b5f5f60408385031215611e49575f5ffd5b505080516020909101519092909150565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602084019350602083015f5b82811015611ea75781516001600160a01b0316865260209586019590910190600101611e80565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611ea7578151865260209586019590910190600101611ec3565b85815260a060208201525f611ef960a0830187611e6e565b8281036040840152611f0b8187611eb1565b6001600160a01b039590951660608401525050608001529392505050565b8082018082111561166c5761166c611dfa565b5f60208284031215611f4c575f5ffd5b815180151581146119df575f5ffd5b5f5f5f60608486031215611f6d575f5ffd5b5050815160208301516040909301519094929350919050565b6001600160a01b03841681526080602082018190525f90611fa990830185611e6e565b8281036040840152611fbb8185611eb1565b83810360609094019390935250505f81526020019392505050565b5f82518060208501845e5f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbce6deaaba5d3c1b5422eff673d45817af41444ddbfa5eb9aacfa7dc58df43ce00a26469706673582212202af6740faf67852aa7e4b4802e7459c730e1888d9b237c1aee0482647c7b752264736f6c634300081c0033