0 txs
22k calls
constructor
constructor(address vault, address weth, address aeraVault)
functions
AERA_VAULT
viewfunction AERA_VAULT() view returns (address)
authority
viewfunction authority() view returns (address)
getLastDepositTimestamp
viewfunction getLastDepositTimestamp() view returns (uint256)
getPendingDistributionAmount
viewfunction getPendingDistributionAmount() view returns (uint256)
getRewardsDistributionWindow
viewfunction getRewardsDistributionWindow() view returns (uint256)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
PUFFER_VAULT
viewfunction PUFFER_VAULT() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
WETH
viewfunction WETH() view returns (address)
callTargets
nonpayablefunction callTargets(address[] targets, bytes[] data)
depositRevenue
nonpayablefunction depositRevenue()
initialize
nonpayablefunction initialize(address accessManager)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setRewardsDistributionWindow
nonpayablefunction setRewardsDistributionWindow(uint24 newRewardsDistributionWindow)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdrawAndDeposit
nonpayablefunction withdrawAndDeposit()
events
AuthorityUpdated
event AuthorityUpdated(address authority)
Initialized
event Initialized(uint64 version)
RevenueDeposited
event RevenueDeposited(uint256 amount)
RewardsDistributionWindowChanged
event RewardsDistributionWindowChanged(uint256 oldWindow, uint256 newWindow)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
AddressEmptyCode
error AddressEmptyCode(address target)
CannotChangeDistributionWindow
error CannotChangeDistributionWindow()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress()
InvalidDataLength
error InvalidDataLength()
InvalidDistributionWindow
error InvalidDistributionWindow()
InvalidInitialization
error InvalidInitialization()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NothingToDistribute
error NothingToDistribute()
NotInitializing
error NotInitializing()
TargetCallFailed
error TargetCallFailed()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
VaultHasUndepositedRewards
error VaultHasUndepositedRewards()
creation bytecode
0x61010060405230608052348015610014575f5ffd5b50604051611b44380380611b4483398101604081905261003391610176565b6001600160a01b038316158061005057506001600160a01b038216155b8061006257506001600160a01b038116155b156100805760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0380841660a05281811660c052821660e0526100a16100a9565b5050506101b6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100f95760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146101585780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b0381168114610171575f5ffd5b919050565b5f5f5f60608486031215610188575f5ffd5b6101918461015b565b925061019f6020850161015b565b91506101ad6040850161015b565b90509250925092565b60805160a05160c05160e05161191c6102285f395f81816102e7015281816106aa01528181610b2b01528181610bb10152610cb401525f818161034d015281816106dc015261078c01525f81816101590152610c7c01525f8181610d6201528181610d8b0152610ed0015261191c5ff3fe6080604052600436106100fd575f3560e01c80638738e1d511610092578063ad5c464811610062578063ad5c4648146102d6578063bf7e214f14610309578063c4d66de81461031d578063c60985651461033c578063eb0a7cbe1461036f575f5ffd5b80638738e1d5146102305780638f4698d2146102445780638fb360371461026c578063ad3cb1cc14610299575f5ffd5b80634f1ef286116100cd5780634f1ef286146101ac57806352d1902d146101bf57806359c99f20146101e15780637a9e5e4b14610211575f5ffd5b806320bf0f491461010857806331c44d68146101295780633e68b0941461014857806344e43cb814610198575f5ffd5b3661010457005b5f5ffd5b348015610113575f5ffd5b5061012761012236600461143b565b610383565b005b348015610134575f5ffd5b506101276101433660046114a7565b610497565b348015610153575f5ffd5b5061017b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a3575f5ffd5b5061012761057e565b6101276101ba3660046114f8565b610591565b3480156101ca575f5ffd5b506101d36105b0565b60405190815260200161018f565b3480156101ec575f5ffd5b505f5160206118a75f395f51905f5254600160301b90046001600160681b03166101d3565b34801561021c575f5ffd5b5061012761022b3660046115bc565b6105cb565b34801561023b575f5ffd5b50610127610652565b34801561024f575f5ffd5b505f5160206118a75f395f51905f525465ffffffffffff166101d3565b348015610277575f5ffd5b506102806107f9565b6040516001600160e01b0319909116815260200161018f565b3480156102a4575f5ffd5b506102c9604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161018f91906115d5565b3480156102e1575f5ffd5b5061017b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610314575f5ffd5b5061017b61082f565b348015610328575f5ffd5b506101276103373660046115bc565b61084a565b348015610347575f5ffd5b5061017b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561037a575f5ffd5b506101d3610958565b61038f335b5f366109e2565b828114158061039c575082155b156103ba57604051630dfe930960e41b815260040160405180910390fd5b5f5b83811015610490575f8585838181106103d7576103d761160a565b90506020020160208101906103ec91906115bc565b6001600160a01b03168484848181106104075761040761160a565b9050602002810190610419919061161e565b604051610427929190611661565b5f604051808303815f865af19150503d805f8114610460576040519150601f19603f3d011682016040523d82523d5f602084013e610465565b606091505b505090508061048757604051630eda868560e41b815260040160405180910390fd5b506001016103bc565b5050505050565b6104a033610388565b6104a8610958565b156104c657604051636bfecc4560e11b815260040160405180910390fd5b62093a808162ffffff1611156104ef57604051632611327760e01b815260040160405180910390fd5b5f5f5160206118a75f395f51905f52805460408051600160301b9092046001600160681b0316825262ffffff851660208301529192507ffda66f54df4e0f66dd7dd37ede8ba13881d8013d79ed828dd23cfce9c9567036910160405180910390a1805472ffffffffffffffffffffffffff000000000000191662ffffff92909216600160301b02919091179055565b61058733610388565b61058f610ad8565b565b610599610d57565b6105a282610dfb565b6105ac8282610e04565b5050565b5f6105b9610ec5565b505f5160206118c75f395f51905f5290565b336105d461082f565b6001600160a01b0316816001600160a01b0316146106145760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f03610649576040516361798f2f60e11b81526001600160a01b038316600482015260240161060b565b6105ac82610f0e565b61065b33610388565b6040805160018082528183019092525f91816020015b604080518082019091525f8082526020820152815260200190600190039081610671579050506040805180820182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811680835292516370a0823160e01b81527f00000000000000000000000000000000000000000000000000000000000000009091166004820152929350916020830191906370a0823190602401602060405180830381865afa158015610731573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107559190611670565b815250815f8151811061076a5761076a61160a565b602090810291909101015260405163ecdbb2b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ecdbb2b3906107c1908490600401611687565b5f604051808303815f87803b1580156107d8575f5ffd5b505af11580156107ea573d5f5f3e3d5ffd5b505050506107f6610ad8565b50565b5f5160206118875f395f51905f5280545f9190600160a01b900460ff16610820575f610829565b638fb3603760e01b5b91505090565b5f5160206118875f395f51905f52546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f8115801561088f5750825b90505f8267ffffffffffffffff1660011480156108ab5750303b155b9050811580156108b9575080155b156108d75760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561090157845460ff60401b1916600160401b1785555b61090a86610f67565b831561095057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f5160206118a75f395f51905f5280545f9190600160301b90046001600160681b031680830361098a575f9250505090565b81545f906109a09065ffffffffffff16426116f2565b90505f6109ad8284610f78565b6109b790846116f2565b84549091506109d990600160981b90046001600160681b031682856001610f91565b94505050505090565b5f5160206118875f395f51905f525f80610a1a6109fd61082f565b8730610a0c60045f8a8c611705565b610a159161172c565b610fe0565b91509150816109505763ffffffff811615610ab557825460ff60a01b1916600160a01b178355610a4861082f565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401610a7793929190611764565b5f604051808303815f87803b158015610a8e575f5ffd5b505af1158015610aa0573d5f5f3e3d5ffd5b5050845460ff60a01b19168555506109509050565b60405162d1953b60e31b81526001600160a01b038716600482015260240161060b565b610ae0610958565b15610afe57604051635999201360e11b815260040160405180910390fd5b5f5160206118a75f395f51905f52805465ffffffffffff19164265ffffffffffff161781554715610b9a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004015f604051808303818588803b158015610b82575f5ffd5b505af1158015610b94573d5f5f3e3d5ffd5b50505050505b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610bfe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c229190611670565b90505f8111610c435760405162598fc960e21b815260040160405180910390fd5b815472ffffffffffffffffffffffffffffffffffffff16600160981b6001600160681b0383160217825560405163a9059cbb60e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610cfa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1e91906117b2565b506040518181527fa233bf660ff45a53efdacc9f262f3ba6a03b00e58e587d8536a4cfec59680a1c906020015b60405180910390a15050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610ddd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dd15f5160206118c75f395f51905f52546001600160a01b031690565b6001600160a01b031614155b1561058f5760405163703e46dd60e11b815260040160405180910390fd5b6107f633610388565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e5e575060408051601f3d908101601f19168201909252610e5b91810190611670565b60015b610e8657604051634c9c8ce360e01b81526001600160a01b038316600482015260240161060b565b5f5160206118c75f395f51905f528114610eb657604051632a87526960e21b81526004810182905260240161060b565b610ec083836110e8565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058f5760405163703e46dd60e11b815260040160405180910390fd5b5f5160206118875f395f51905f5280546001600160a01b0319166001600160a01b03831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602001610d4b565b610f6f61113d565b6107f681611186565b5f818310610f865781610f88565b825b90505b92915050565b5f5f610f9e868686611197565b9050610fa983611257565b8015610fc457505f8480610fbf57610fbf6117cb565b868809115b15610fd757610fd46001826117df565b90505b95945050505050565b6040516001600160a01b03848116602483015283811660448301526001600160e01b0319831660648301525f9182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161104e91906117f2565b5f60405180830381855afa9150503d805f8114611086576040519150601f19603f3d011682016040523d82523d5f602084013e61108b565b606091505b509150915081156110dd5760408151106110bd57808060200190518101906110b39190611808565b90945092506110dd565b60208151106110dd57808060200190518101906110da91906117b2565b93505b505094509492505050565b6110f182611283565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561113557610ec082826112e6565b6105ac61134f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661058f57604051631afcd79f60e31b815260040160405180910390fd5b61118e61113d565b6107f681610f0e565b5f838302815f1985870982811083820303915050805f036111cb578382816111c1576111c16117cb565b0492505050611250565b8084116111eb5760405163227bc15360e01b815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b5f600282600381111561126c5761126c611845565b6112769190611859565b60ff166001149050919050565b806001600160a01b03163b5f036112b857604051634c9c8ce360e01b81526001600160a01b038216600482015260240161060b565b5f5160206118c75f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b03168460405161130291906117f2565b5f60405180830381855af49150503d805f811461133a576040519150601f19603f3d011682016040523d82523d5f602084013e61133f565b606091505b5091509150610fd785838361136e565b341561058f5760405163b398979f60e01b815260040160405180910390fd5b6060826113835761137e826113ca565b611250565b815115801561139a57506001600160a01b0384163b155b156113c357604051639996b31560e01b81526001600160a01b038516600482015260240161060b565b5080611250565b8051156113da5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f5f83601f840112611403575f5ffd5b50813567ffffffffffffffff81111561141a575f5ffd5b6020830191508360208260051b8501011115611434575f5ffd5b9250929050565b5f5f5f5f6040858703121561144e575f5ffd5b843567ffffffffffffffff811115611464575f5ffd5b611470878288016113f3565b909550935050602085013567ffffffffffffffff81111561148f575f5ffd5b61149b878288016113f3565b95989497509550505050565b5f602082840312156114b7575f5ffd5b813562ffffff81168114611250575f5ffd5b80356001600160a01b03811681146114df575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611509575f5ffd5b611512836114c9565b9150602083013567ffffffffffffffff81111561152d575f5ffd5b8301601f8101851361153d575f5ffd5b803567ffffffffffffffff811115611557576115576114e4565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611586576115866114e4565b60405281815282820160200187101561159d575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f602082840312156115cc575f5ffd5b610f88826114c9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f5f8335601e19843603018112611633575f5ffd5b83018035915067ffffffffffffffff82111561164d575f5ffd5b602001915036819003821315611434575f5ffd5b818382375f9101908152919050565b5f60208284031215611680575f5ffd5b5051919050565b602080825282518282018190525f918401906040840190835b818110156116d357835180516001600160a01b0316845260209081015181850152909301926040909201916001016116a0565b509095945050505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610f8b57610f8b6116de565b5f5f85851115611713575f5ffd5b8386111561171f575f5ffd5b5050820193919092039150565b80356001600160e01b0319811690600484101561175d576001600160e01b0319600485900360031b81901b82161691505b5092915050565b6001600160a01b03841681526040602082018190528101829052818360608301375f818301606090810191909152601f909201601f1916010192915050565b805180151581146114df575f5ffd5b5f602082840312156117c2575f5ffd5b610f88826117a3565b634e487b7160e01b5f52601260045260245ffd5b80820180821115610f8b57610f8b6116de565b5f82518060208501845e5f920191825250919050565b5f5f60408385031215611819575f5ffd5b611822836117a3565b9150602083015163ffffffff8116811461183a575f5ffd5b809150509250929050565b634e487b7160e01b5f52602160045260245ffd5b5f60ff83168061187757634e487b7160e01b5f52601260045260245ffd5b8060ff8416069150509291505056fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a004a89cef1c30d36c0ff2c9fb23c831a9c153cf25feb747c6591cde6a5261b4000360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212208493eda2f05a74bfd7b79868e5ce796df8eb83502d706b0b86d9e6c36d43174764736f6c634300081c0033000000000000000000000000d9a442856c234a39a81a089c06451ebaa4306a72000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006c25ae178ac3466a63a552d4d6509c3d7385a0b8