0 txs
61 calls
constructor
constructor(address _owner, address _oracleEligibilityModule, address _votingPowerToken, uint48 _votingPowerUpdateInterval, address _delegateCompensationStaker, address _scoreOracle)
functions
DELEGATE_COMPENSATION_STAKER
viewfunction DELEGATE_COMPENSATION_STAKER() view returns (address)
getEarningPower
viewfunction getEarningPower(uint256, address _staker, address) view returns (uint256 _earningPower)
getNewEarningPower
viewfunction getNewEarningPower(uint256, address _staker, address, uint256) view returns (uint256 _earningPower, bool _isQualifiedForBump)
getOracleEligibilityModule
viewfunction getOracleEligibilityModule() view returns (address)
oracleEligibilityModule
viewfunction oracleEligibilityModule() view returns (address)
owner
viewfunction owner() view returns (address)
scoreOracle
viewfunction scoreOracle() view returns (address)
SNAPSHOT_START_BLOCK
viewfunction SNAPSHOT_START_BLOCK() view returns (uint48)
VOTING_POWER_TOKEN
viewfunction VOTING_POWER_TOKEN() view returns (address)
votingPowerUpdateInterval
viewfunction votingPowerUpdateInterval() view returns (uint48)
renounceOwnership
nonpayablefunction renounceOwnership()
setOracleEligibilityModule
nonpayablefunction setOracleEligibilityModule(address _newOracleEligibilityModule)
setScoreOracle
nonpayablefunction setScoreOracle(address _newScoreOracle)
setVotingPowerUpdateInterval
nonpayablefunction setVotingPowerUpdateInterval(uint48 _newVotingPowerUpdateInterval)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDelegateeScore
nonpayablefunction updateDelegateeScore(address _delegatee, uint256 _newScore)
updateDelegateeScores
nonpayablefunction updateDelegateeScores(tuple[] _delegateeScoreUpdates)
events
OracleEligibilityModuleSet
event OracleEligibilityModuleSet(address indexed oldOracleEligibilityModule, address indexed newOracleEligibilityModule)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ScoreOracleSet
event ScoreOracleSet(address indexed oldScoreOracle, address indexed newScoreOracle)
VotingPowerUpdateIntervalSet
event VotingPowerUpdateIntervalSet(uint48 oldVotingPowerUpdateInterval, uint48 newVotingPowerUpdateInterval)
errors
BinaryVotingWeightEarningPowerCalculator__InvalidAddress
error BinaryVotingWeightEarningPowerCalculator__InvalidAddress()
BinaryVotingWeightEarningPowerCalculator__InvalidVotingPowerUpdateInterval
error BinaryVotingWeightEarningPowerCalculator__InvalidVotingPowerUpdateInterval()
OracleDelegateCompensationInitializer__Unauthorized
error OracleDelegateCompensationInitializer__Unauthorized(bytes32 reason, address caller)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60e060405234801561000f575f5ffd5b506040516112fd3803806112fd83398101604081905261002e916102cb565b858585858585856001600160a01b03811661006257604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61006b816100e5565b506001600160a01b03821660805261008281610134565b50506001600160a01b0382166100ab57604051638d0fcc4160e01b815260040160405180910390fd5b6001600160a01b03821660a05265ffffffffffff431660c0526100cd8361018f565b6100d681610211565b50505050505050505050610347565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001546040516001600160a01b038084169216907fc1aaddab0468934266b3e687817158f56b45d3b5f05cd9b5d71f19163b920196905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166101b657604051638d0fcc4160e01b815260040160405180910390fd5b6002546040516001600160a01b038084169216907fea0aa5af3884ba5f2071cacb0405a848e395fceaa1b897aefa4f80375435be6d905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b8065ffffffffffff165f0361023957604051630c2e490960e11b815260040160405180910390fd5b6001546040805165ffffffffffff600160a01b9093048316815291831660208301527fe777b1a68292f61ad4324dc59c6611de3a0686798b92c65f1c8f4741942a6473910160405180910390a16001805465ffffffffffff909216600160a01b0265ffffffffffff60a01b19909216919091179055565b80516001600160a01b03811681146102c6575f5ffd5b919050565b5f5f5f5f5f5f60c087890312156102e0575f5ffd5b6102e9876102b0565b95506102f7602088016102b0565b9450610305604088016102b0565b9350606087015165ffffffffffff8116811461031f575f5ffd5b925061032d608088016102b0565b915061033b60a088016102b0565b90509295509295509295565b60805160a05160c051610f6261039b5f395f81816101cc01528181610a5101528181610a8001528181610ad70152610b3301525f8181610242015261099f01525f818161018d015261043a0152610f625ff3fe608060405234801561000f575f5ffd5b5060043610610106575f3560e01c80637784dca81161009e578063d62a8f271161006e578063d62a8f2714610264578063f2fde38b14610277578063fb3aca4b1461028a578063fb8952771461029d578063ff78bc3a146102b0575f5ffd5b80637784dca8146102095780638da5cb5b1461021a578063a3ee7db01461022a578063bb173b421461023d575f5ffd5b806360d4b9af116100d957806360d4b9af146101885780636fd0ced6146101c7578063715018a6146101ee578063758aa8d8146101f6575f5ffd5b8063147933bd1461010a57806341a77e801461011f57806350f2450e146101455780635a4a80dc14610175575b5f5ffd5b61011d610118366004610d0d565b6102d8565b005b61013261012d366004610d35565b6102ee565b6040519081526020015b60405180910390f35b60015461015e90600160a01b900465ffffffffffff1681565b60405165ffffffffffff909116815260200161013c565b61011d610183366004610d6e565b610300565b6101af7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013c565b61015e7f000000000000000000000000000000000000000000000000000000000000000081565b61011d610358565b61011d610204366004610ddf565b61036b565b6002546001600160a01b03166101af565b5f546001600160a01b03166101af565b61011d610238366004610e04565b61037f565b6101af7f000000000000000000000000000000000000000000000000000000000000000081565b6002546101af906001600160a01b031681565b61011d610285366004610e04565b610390565b6001546101af906001600160a01b031681565b61011d6102ab366004610e04565b6103cf565b6102c36102be366004610e1d565b6103e0565b6040805192835290151560208301520161013c565b6102e06103f8565b6102ea8282610438565b5050565b5f6102f883610624565b949350505050565b6103086103f8565b5f5b81811015610353573683838381811061032557610325610e5e565b60400291909101915061034a90506103406020830183610e04565b8260200135610438565b5060010161030a565b505050565b6103606106ba565b6103695f6106e6565b565b6103736106ba565b61037c81610735565b50565b6103876106ba565b61037c816107d4565b6103986106ba565b6001600160a01b0381166103c657604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61037c816106e6565b6103d76106ba565b61037c8161082f565b5f5f6103eb85610624565b9660019650945050505050565b6001546001600160a01b031633146103695760405163240e76d360e11b8152696e6f74206f7261636c6560b01b60048201523360248201526044016103bd565b7f000000000000000000000000000000000000000000000000000000000000000061046b6002546001600160a01b031690565b60405163147933bd60e01b81526001600160a01b03858116600483015260248201859052919091169063147933bd906044015f604051808303815f87803b1580156104b4575f5ffd5b505af11580156104c6573d5f5f3e3d5ffd5b50506040516370805cdb60e01b81526001600160a01b038681166004830152841692506370805cdb9150602401602060405180830381865afa15801561050e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105329190610e72565b1580156105b057506002546001600160a01b0316604051630d10427d60e31b81526001600160a01b038581166004830152919091169063688213e890602401602060405180830381865afa15801561058c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b09190610e89565b1561035357604051634ca103d760e11b81526001600160a01b03848116600483015282169063994207ae906024016020604051808303815f875af11580156105fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061e9190610e72565b50505050565b5f61062d6108b1565b8061069f5750600254604051630d10427d60e31b81526001600160a01b0384811660048301529091169063688213e890602401602060405180830381865afa15801561067b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069f9190610e89565b156106b3576106ad82610999565b92915050565b505f919050565b5f546001600160a01b031633146103695760405163118cdaa760e01b81523360048201526024016103bd565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8065ffffffffffff165f0361075d57604051630c2e490960e11b815260040160405180910390fd5b6001546040805165ffffffffffff600160a01b9093048316815291831660208301527fe777b1a68292f61ad4324dc59c6611de3a0686798b92c65f1c8f4741942a6473910160405180910390a16001805465ffffffffffff909216600160a01b0265ffffffffffff60a01b19909216919091179055565b6001546040516001600160a01b038084169216907fc1aaddab0468934266b3e687817158f56b45d3b5f05cd9b5d71f19163b920196905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661085657604051638d0fcc4160e01b815260040160405180910390fd5b6002546040516001600160a01b038084169216907fea0aa5af3884ba5f2071cacb0405a848e395fceaa1b897aefa4f80375435be6d905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b60025460408051620f3e9960e31b815290515f926001600160a01b0316916279f4c89160048083019260209291908290030181865afa1580156108f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091a9190610e89565b80610994575060025f9054906101000a90046001600160a01b03166001600160a01b0316635c38e07d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610970573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109949190610e89565b905090565b5f6106ad7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633a46b1a8846109d5610a4d565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015610a24573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a489190610e72565b610b5f565b5f5f7f000000000000000000000000000000000000000000000000000000000000000065ffffffffffff164311610aac577f000000000000000000000000000000000000000000000000000000000000000065ffffffffffff16610ab7565b610ab7600143610ebc565b6001549091505f9065ffffffffffff600160a01b909104811690610afd907f00000000000000000000000000000000000000000000000000000000000000001684610ebc565b610b079190610ee3565b600154909150610b2690600160a01b900465ffffffffffff1682610f02565b610b589065ffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016610f19565b9250505090565b5f815f03610b6e57505f919050565b5f6001610b7a84610c4a565b901c6001901b90506001818481610b9357610b93610ecf565b048201901c90506001818481610bab57610bab610ecf565b048201901c90506001818481610bc357610bc3610ecf565b048201901c90506001818481610bdb57610bdb610ecf565b048201901c90506001818481610bf357610bf3610ecf565b048201901c90506001818481610c0b57610c0b610ecf565b048201901c90506001818481610c2357610c23610ecf565b048201901c9050610c4381828581610c3d57610c3d610ecf565b04610cdd565b9392505050565b5f80608083901c15610c5e57608092831c92015b604083901c15610c7057604092831c92015b602083901c15610c8257602092831c92015b601083901c15610c9457601092831c92015b600883901c15610ca657600892831c92015b600483901c15610cb857600492831c92015b600283901c15610cca57600292831c92015b600183901c156106ad5760010192915050565b5f818310610ceb5781610c43565b5090919050565b80356001600160a01b0381168114610d08575f5ffd5b919050565b5f5f60408385031215610d1e575f5ffd5b610d2783610cf2565b946020939093013593505050565b5f5f5f60608486031215610d47575f5ffd5b83359250610d5760208501610cf2565b9150610d6560408501610cf2565b90509250925092565b5f5f60208385031215610d7f575f5ffd5b823567ffffffffffffffff811115610d95575f5ffd5b8301601f81018513610da5575f5ffd5b803567ffffffffffffffff811115610dbb575f5ffd5b8560208260061b8401011115610dcf575f5ffd5b6020919091019590945092505050565b5f60208284031215610def575f5ffd5b813565ffffffffffff81168114610c43575f5ffd5b5f60208284031215610e14575f5ffd5b610c4382610cf2565b5f5f5f5f60808587031215610e30575f5ffd5b84359350610e4060208601610cf2565b9250610e4e60408601610cf2565b9396929550929360600135925050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610e82575f5ffd5b5051919050565b5f60208284031215610e99575f5ffd5b81518015158114610c43575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156106ad576106ad610ea8565b634e487b7160e01b5f52601260045260245ffd5b5f82610efd57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106ad576106ad610ea8565b808201808211156106ad576106ad610ea856fea264697066735822122041cf88d9f7d4f1e2f258435f2fd2ef3b9fc5d6f561a7078180331e108162a74d64736f6c634300081c003300000000000000000000000042d201cc4d9c1e31c032397f54cace2f48c1fa720000000000000000000000007bd374fb2b543310f4cf8c8328fb009b4b2469010000000000000000000000000b010000b7624eb9b3dfbc279673c76e9d29d5f700000000000000000000000000000000000000000000000000000000001baf800000000000000000000000001f43de0113f059c200172e4274090c54c76cbd28000000000000000000000000033bf3608c9dbbfa05ec1fd784e3763b9b9dcbe7