0 txs
2.4k calls
constructor
constructor()
functions
AGGREGATOR_MANAGER_ROLE
viewfunction AGGREGATOR_MANAGER_ROLE() view returns (bytes32)
consensusLayerReceiver
viewfunction consensusLayerReceiver() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
executionLayerReceiver
viewfunction executionLayerReceiver() view returns (address)
feesBasisPoints
viewfunction feesBasisPoints() view returns (uint16)
feesReceiver
viewfunction feesReceiver() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
oracle
viewfunction oracle() view returns (address)
pauser
viewfunction pauser() view returns (address)
staking
viewfunction staking() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(tuple init)
processReturns
nonpayablefunction processReturns(uint256 rewardAmount, uint256 principalAmount, bool shouldIncludeELRewards)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setFeeBasisPoints
nonpayablefunction setFeeBasisPoints(uint16 newBasisPoints)
setFeesReceiver
nonpayablefunction setFeesReceiver(address newReceiver)
events
FeesCollected
event FeesCollected(uint256 amount)
Initialized
event Initialized(uint8 version)
ProtocolConfigChanged
event ProtocolConfigChanged(bytes4 indexed setterSelector, string setterSignature, bytes value)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
InvalidConfiguration
error InvalidConfiguration()
NotOracle
error NotOracle()
Paused
error Paused()
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611f3e806100ec6000396000f3fe60806040526004361061016e5760003560e01c80639010d07c116100cb578063ca15c8731161007f578063f18e795111610059578063f18e7951146104b0578063f2da6d6c146104d0578063f6159bea146104f057600080fd5b8063ca15c8731461042a578063cb043d041461044a578063d547741f1461049057600080fd5b80639fd0506d116100b05780639fd0506d146103bb578063a217fddf146103e8578063bca93cf5146103fd57600080fd5b80639010d07c1461034857806391d148541461036857600080fd5b8063453ba488116101225780637dc0d1d0116101075780637dc0d1d0146102db5780638846405d146103085780638c05a6941461032857600080fd5b8063453ba488146102815780634cf088d9146102ae57600080fd5b8063248a9ca311610153578063248a9ca3146102015780632f2ff15d1461023f57806336568abe1461026157600080fd5b806301ffc9a71461017a5780631d908288146101af57600080fd5b3661017557005b600080fd5b34801561018657600080fd5b5061019a6101953660046119a2565b610524565b60405190151581526020015b60405180910390f35b3480156101bb57600080fd5b5060cc546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b34801561020d57600080fd5b5061023161021c3660046119e4565b60009081526065602052604090206001015490565b6040519081526020016101a6565b34801561024b57600080fd5b5061025f61025a366004611a2f565b610580565b005b34801561026d57600080fd5b5061025f61027c366004611a2f565b6105aa565b34801561028d57600080fd5b5060cb546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102ba57600080fd5b5060c9546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102e757600080fd5b5060ca546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561031457600080fd5b5061025f610323366004611a5f565b610662565b34801561033457600080fd5b5061025f610343366004611a9d565b610966565b34801561035457600080fd5b506101dc610363366004611ac1565b610ab0565b34801561037457600080fd5b5061019a610383366004611a2f565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156103c757600080fd5b5060cd546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103f457600080fd5b50610231600081565b34801561040957600080fd5b5060ce546101dc9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043657600080fd5b506102316104453660046119e4565b610acf565b34801561045657600080fd5b5060ce5461047d9074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016101a6565b34801561049c57600080fd5b5061025f6104ab366004611a2f565b610ae6565b3480156104bc57600080fd5b5061025f6104cb366004611ae3565b610b0b565b3480156104dc57600080fd5b5061025f6104eb366004611b2f565b610c5c565b3480156104fc57600080fd5b506102317fa04f8e5e9269ada37cd14db144b4a440e16627eb30d392f72521786dd7cc206881565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f00000000000000000000000000000000000000000000000000000000148061057a575061057a82610f0d565b92915050565b60008281526065602052604090206001015461059b81610fa4565b6105a58383610fb1565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61065e8282610fd3565b5050565b60ca54479073ffffffffffffffffffffffffffffffffffffffff1633146106b5576040517f1bc2178f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006106c18486611c4a565b905084600084156106f4575060cc5473ffffffffffffffffffffffffffffffffffffffff16316106f18183611c4a565b91505b60ce546000906107239074010000000000000000000000000000000000000000900461ffff1684612710610ff5565b90503082156107b95760cc546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018690529091169063a9059cbb90604401600060405180830381600087803b1580156107a057600080fd5b505af11580156107b4573d6000803e3d6000fd5b505050505b841561084c5760cb546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018890529091169063a9059cbb90604401600060405180830381600087803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050505b6000826108598588611c4a565b6108639190611c5d565b905080156108ef5760c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663808d663f826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d557600080fd5b505af11580156108e9573d6000803e3d6000fd5b50505050505b821561094b576040518381527f860c0aa5520013080c2f65981705fcdea474d9f7c3daf954656ed5e65d692d1f9060200160405180910390a160ce5461094b9073ffffffffffffffffffffffffffffffffffffffff168461111e565b50505050505080471461096057610960611c70565b50505050565b7fa04f8e5e9269ada37cd14db144b4a440e16627eb30d392f72521786dd7cc206861099081610fa4565b61271061ffff831611156109d0576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ce80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8516908102919091179091556040805160208101929092527f8c05a69400000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610aa491611d0d565b60405180910390a25050565b6000828152609760205260408120610ac89083611278565b9392505050565b600081815260976020526040812061057a90611284565b600082815260656020526040902060010154610b0181610fa4565b6105a58383610fd3565b7fa04f8e5e9269ada37cd14db144b4a440e16627eb30d392f72521786dd7cc2068610b3581610fa4565b8173ffffffffffffffffffffffffffffffffffffffff8116610b83576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ce80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040805160208101929092527ff18e795100000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610c4f91611d54565b60405180910390a2505050565b600054610100900460ff1615808015610c7c5750600054600160ff909116105b80610c965750303b158015610c96575060005460ff166001145b610d22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161064b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d8057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d8861128e565b8151610d9690600090610fb1565b610dc47fa04f8e5e9269ada37cd14db144b4a440e16627eb30d392f72521786dd7cc20688360200151610fb1565b604082015160ca80547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff93841617909155606084015160cd80548316918416919091179055608084015160cb8054831691841691909117905560a084015160cc8054831691841691909117905560c084015160c9805490921690831617905560e083015160ce8054919092167fffffffffffffffffffff00000000000000000000000000000000000000000000909116177503e80000000000000000000000000000000000000000179055801561065e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061057a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461057a565b610fae8133611327565b50565b610fbb82826113e1565b60008281526097602052604090206105a590826114d5565b610fdd82826114f7565b60008281526097602052604090206105a590826115b2565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8587098587029250828110838203039150508060000361104d5783828161104357611043611d9b565b0492505050610ac8565b8084116110b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f770000000000000000000000604482015260640161064b565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b80471015611188576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161064b565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146111e2576040519150601f19603f3d011682016040523d82523d6000602084013e6111e7565b606091505b50509050806105a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161064b565b6000610ac883836115d4565b600061057a825490565b600054610100900460ff16611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161064b565b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661065e57611367816115fe565b61137283602061161d565b604051602001611383929190611dca565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261064b91600401611e4b565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661065e57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556114773390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610ac88373ffffffffffffffffffffffffffffffffffffffff8416611860565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561065e57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610ac88373ffffffffffffffffffffffffffffffffffffffff84166118af565b60008260000182815481106115eb576115eb611e5e565b9060005260206000200154905092915050565b606061057a73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061162c836002611e8d565b611637906002611c4a565b67ffffffffffffffff81111561164f5761164f611b00565b6040519080825280601f01601f191660200182016040528015611679576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106116b0576116b0611e5e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061171357611713611e5e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061174f846002611e8d565b61175a906001611c4a565b90505b60018111156117f7577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061179b5761179b611e5e565b1a60f81b8282815181106117b1576117b1611e5e565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936117f081611ea4565b905061175d565b508315610ac8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161064b565b60008181526001830160205260408120546118a75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561057a565b50600061057a565b600081815260018301602052604081205480156119985760006118d3600183611c5d565b85549091506000906118e790600190611c5d565b905081811461194c57600086600001828154811061190757611907611e5e565b906000526020600020015490508087600001848154811061192a5761192a611e5e565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061195d5761195d611ed9565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061057a565b600091505061057a565b6000602082840312156119b457600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ac857600080fd5b6000602082840312156119f657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610fae57600080fd5b8035611a2a816119fd565b919050565b60008060408385031215611a4257600080fd5b823591506020830135611a54816119fd565b809150509250929050565b600080600060608486031215611a7457600080fd5b833592506020840135915060408401358015158114611a9257600080fd5b809150509250925092565b600060208284031215611aaf57600080fd5b813561ffff81168114610ac857600080fd5b60008060408385031215611ad457600080fd5b50508035926020909101359150565b600060208284031215611af557600080fd5b8135610ac8816119fd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000610100808385031215611b4357600080fd5b6040519081019067ffffffffffffffff82118183101715611b8d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052611b9a84611a1f565b8152611ba860208501611a1f565b6020820152611bb960408501611a1f565b6040820152611bca60608501611a1f565b6060820152611bdb60808501611a1f565b6080820152611bec60a08501611a1f565b60a0820152611bfd60c08501611a1f565b60c0820152611c0e60e08501611a1f565b60e0820152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561057a5761057a611c1b565b8181038181111561057a5761057a611c1b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b83811015611cba578181015183820152602001611ca2565b50506000910152565b60008151808452611cdb816020860160208601611c9f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601960408201527f7365744665654261736973506f696e74732875696e74313629000000000000006060820152608060208201526000610ac86080830184611cc3565b60408152601860408201527f73657446656573526563656976657228616464726573732900000000000000006060820152608060208201526000610ac86080830184611cc3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e02816017850160208801611c9f565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611e3f816028840160208801611c9f565b01602801949350505050565b602081526000610ac86020830184611cc3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b808202811582820484141761057a5761057a611c1b565b600081611eb357611eb3611c1b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220927f067e5ff311a8ef792ee0b8f367cf9861148fcc9201aa2882ac7947ad372664736f6c63430008140033