2 txs
296 calls
constructor
constructor(address _owner, address _scoreOracle, uint256 _staleOracleWindow, address _oraclePauseGuardian, uint256 _delegateeScoreEligibilityThreshold, uint256 _updateEligibilityDelay)
functions
delegateeEligibilityThresholdScore
viewfunction delegateeEligibilityThresholdScore() view returns (uint256)
delegateeScoreLockStatus
viewfunction delegateeScoreLockStatus(address delegate) view returns (bool isLocked)
delegateeScores
viewfunction delegateeScores(address delegatee) view returns (uint256 delegateeScore)
getEarningPower
viewfunction getEarningPower(uint256 _amountStaked, address, address _delegatee) view returns (uint256)
getNewEarningPower
viewfunction getNewEarningPower(uint256 _amountStaked, address, address _delegatee, uint256) view returns (uint256, bool)
isDelegateeEligible
viewfunction isDelegateeEligible(address _delegatee) view returns (bool)
isOraclePaused
viewfunction isOraclePaused() view returns (bool)
isOracleStale
viewfunction isOracleStale() view returns (bool)
lastOracleUpdateTime
viewfunction lastOracleUpdateTime() view returns (uint256)
oraclePauseGuardian
viewfunction oraclePauseGuardian() view returns (address)
owner
viewfunction owner() view returns (address)
scoreOracle
viewfunction scoreOracle() view returns (address)
STALE_ORACLE_WINDOW
viewfunction STALE_ORACLE_WINDOW() view returns (uint256)
timeOfIneligibility
viewfunction timeOfIneligibility(address delegatee) view returns (uint256 timestamp)
updateEligibilityDelay
viewfunction updateEligibilityDelay() view returns (uint256)
overrideDelegateeScore
nonpayablefunction overrideDelegateeScore(address _delegatee, uint256 _newScore)
renounceOwnership
nonpayablefunction renounceOwnership()
setDelegateeScoreEligibilityThreshold
nonpayablefunction setDelegateeScoreEligibilityThreshold(uint256 _newDelegateeScoreEligibilityThreshold)
setDelegateeScoreLock
nonpayablefunction setDelegateeScoreLock(address _delegatee, bool _isLocked)
setOraclePauseGuardian
nonpayablefunction setOraclePauseGuardian(address _newOraclePauseGuardian)
setOracleState
nonpayablefunction setOracleState(bool _pauseOracle)
setScoreOracle
nonpayablefunction setScoreOracle(address _newScoreOracle)
setUpdateEligibilityDelay
nonpayablefunction setUpdateEligibilityDelay(uint256 _newUpdateEligibilityDelay)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDelegateeScore
nonpayablefunction updateDelegateeScore(address _delegatee, uint256 _newScore)
updateDelegateeScores
nonpayablefunction updateDelegateeScores(tuple[] _delegateeScoreUpdates)
events
DelegateeEligibilityThresholdScoreSet
event DelegateeEligibilityThresholdScoreSet(uint256 oldThreshold, uint256 newThreshold)
DelegateeScoreLockStatusSet
event DelegateeScoreLockStatusSet(address indexed delegatee, bool oldState, bool newState)
DelegateeScoreUpdated
event DelegateeScoreUpdated(address indexed delegatee, uint256 oldScore, uint256 newScore)
OraclePausedStatusUpdated
event OraclePausedStatusUpdated(bool oldStatus, bool newStatus)
OraclePauseGuardianSet
event OraclePauseGuardianSet(address indexed oldOraclePauseGuardian, address indexed newOraclePauseGuardian)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ScoreOracleSet
event ScoreOracleSet(address indexed oldScoreOracle, address indexed newScoreOracle)
UpdateEligibilityDelaySet
event UpdateEligibilityDelaySet(uint256 oldDelay, uint256 newDelay)
errors
BinaryEligibilityOracleEarningPowerCalculator__DelegateeScoreLocked
error BinaryEligibilityOracleEarningPowerCalculator__DelegateeScoreLocked(address delegatee)
BinaryEligibilityOracleEarningPowerCalculator__DisallowedWhilePaused
error BinaryEligibilityOracleEarningPowerCalculator__DisallowedWhilePaused()
BinaryEligibilityOracleEarningPowerCalculator__Unauthorized
error BinaryEligibilityOracleEarningPowerCalculator__Unauthorized(bytes32 reason, address caller)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60a060405234801561000f575f5ffd5b50604051610fe7380380610fe783398101604081905261002e91610241565b856001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161009f565b5061006f856100ee565b608084905261007d83610149565b610086826101a4565b61008f816101e5565b5050426003555061029f92505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001546040516001600160a01b038084169216907fc1aaddab0468934266b3e687817158f56b45d3b5f05cd9b5d71f19163b920196905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516001600160a01b038084169216907fc5e29cf73e52756a72df47385248e7cd7bc1bfdb22d73484118522875b9a506c905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b60045460408051918252602082018390527f75a1a5559010248880524f62299caafba78eb99ae5d28de25bdd2b91d60b2cff910160405180910390a1600455565b60055460408051918252602082018390527f706b8850e8d5493a8d2aec5a26048a98c2107cfb8120d119a748883ce4813c8e910160405180910390a1600555565b80516001600160a01b038116811461023c575f5ffd5b919050565b5f5f5f5f5f5f60c08789031215610256575f5ffd5b61025f87610226565b955061026d60208801610226565b6040880151909550935061028360608801610226565b608088015160a090980151969995985093969395939492505050565b608051610d296102be5f395f81816101b801526108820152610d295ff3fe608060405234801561000f575f5ffd5b5060043610610186575f3560e01c80638da5cb5b116100d9578063d328f83311610093578063f2fde38b1161006e578063f2fde38b14610374578063fb3aca4b14610387578063ff4b589e1461039a578063ff78bc3a146103a3575f5ffd5b8063d328f8331461032f578063d3cb7cd514610342578063e8f9e60914610355575f5ffd5b80638da5cb5b146102c05780639347fb36146102e457806399f691c0146102ed578063a02a8e9e14610300578063a3ee7db014610309578063b9b4e8331461031c575f5ffd5b80634b089137116101445780635c38e07d1161011f5780635c38e07d1461028a578063688213e814610292578063715018a6146102a557806381ad1a56146102ad575f5ffd5b80634b08913714610242578063564503ad146102645780635a4a80dc14610277575f5ffd5b806279f4c81461018a578063138fc992146101b3578063147933bd146101e85780633e99fa87146101fd57806341a77e801461021c57806348f9229b1461022f575b5f5ffd5b60025461019e90600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b6101da7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101aa565b6101fb6101f6366004610b09565b6103cb565b005b6101da61020b366004610b31565b60066020525f908152604090205481565b6101da61022a366004610b4a565b6103f6565b6101fb61023d366004610b83565b610452565b61019e610250366004610b31565b60086020525f908152604090205460ff1681565b6101fb610272366004610ba9565b610466565b6101fb610285366004610bc2565b610525565b61019e6105a0565b61019e6102a0366004610b31565b6105ae565b6101fb6105d4565b6101fb6102bb366004610b83565b6105e7565b5f546001600160a01b03165b6040516001600160a01b0390911681526020016101aa565b6101da60055481565b6002546102cc906001600160a01b031681565b6101da60045481565b6101fb610317366004610b31565b6105f8565b6101fb61032a366004610b31565b610609565b6101fb61033d366004610b09565b61061a565b6101fb610350366004610c33565b61063b565b6101da610363366004610b31565b60076020525f908152604090205481565b6101fb610382366004610b31565b61064d565b6001546102cc906001600160a01b031681565b6101da60035481565b6103b66103b1366004610c64565b610687565b604080519283529015156020830152016101aa565b6103d361071d565b6103db61075d565b6103e482610788565b6103ee82826107cc565b505042600355565b5f6103ff61087f565b806104135750600254600160a01b900460ff165b1561041f57508261044b565b6004546001600160a01b0383165f908152600660205260409020541015610446575f610448565b835b90505b9392505050565b61045a6108b5565b610463816108e1565b50565b6002546001600160a01b031633146104be576040516335d8fa0560e01b81527f6e6f74206f7261636c6520706175736520677561726469616e0000000000000060048201523360248201526044015b60405180910390fd5b60025460408051600160a01b90920460ff161515825282151560208301527f3a55d26ed0e20f69a3d615b90a12b41eeabd2bf8e4962178bb9ace9891e705f1910160405180910390a160028054911515600160a01b0260ff60a01b19909216919091179055565b61052d61071d565b61053561075d565b805f5b81811015610596573684848381811061055357610553610ca5565b604002919091019150610573905061056e6020830183610b31565b610788565b61058d6105836020830183610b31565b82602001356107cc565b50600101610538565b5050426003555050565b5f6105a961087f565b905090565b6004546001600160a01b0382165f90815260066020526040812054909111155b92915050565b6105dc6108b5565b6105e55f610922565b565b6105ef6108b5565b61046381610971565b6106006108b5565b610463816109b2565b6106116108b5565b61046381610a0d565b6106226108b5565b61062c82826107cc565b610637826001610a68565b5050565b6106436108b5565b6106378282610a68565b6106556108b5565b6001600160a01b03811661067e57604051631e4fbdf760e01b81525f60048201526024016104b5565b61046381610922565b5f5f61069161087f565b806106a55750600254600160a01b900460ff165b156106b557508490506001610714565b6004546001600160a01b0385165f90815260066020526040902054101561070d576005546001600160a01b0385165f90815260076020526040812054909142916106ff9190610ccd565b5f9450111591506107149050565b5084905060015b94509492505050565b6001546001600160a01b031633146105e5576040516335d8fa0560e01b8152696e6f74206f7261636c6560b01b60048201523360248201526044016104b5565b600254600160a01b900460ff16156105e557604051631baa18df60e01b815260040160405180910390fd5b6001600160a01b0381165f9081526008602052604090205460ff161561046357604051632060e5b160e01b81526001600160a01b03821660048201526024016104b5565b6001600160a01b0382165f818152600660205260409081902054600454915190928284101592851015917f28a76a0f9279f0e094c64ab421534b2edec2ec5c27b67b63ddbd17e7815a838d9061082e9086908890918252602082015260400190565b60405180910390a2818015610841575080155b15610861576001600160a01b0385165f9081526007602052604090204290555b5050506001600160a01b039091165f90815260066020526040902055565b5f7f0000000000000000000000000000000000000000000000000000000000000000600354426108af9190610ce0565b11905090565b5f546001600160a01b031633146105e55760405163118cdaa760e01b81523360048201526024016104b5565b60055460408051918252602082018390527f706b8850e8d5493a8d2aec5a26048a98c2107cfb8120d119a748883ce4813c8e910160405180910390a1600555565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60045460408051918252602082018390527f75a1a5559010248880524f62299caafba78eb99ae5d28de25bdd2b91d60b2cff910160405180910390a1600455565b6001546040516001600160a01b038084169216907fc1aaddab0468934266b3e687817158f56b45d3b5f05cd9b5d71f19163b920196905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516001600160a01b038084169216907fc5e29cf73e52756a72df47385248e7cd7bc1bfdb22d73484118522875b9a506c905f90a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0382165f8181526008602090815260409182902054825160ff90911615158152841515918101919091527fffa1769e72a92eadbb88e1dfe52e4e0f431aa314ac0152f38d5233fefac2e34b910160405180910390a26001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b80356001600160a01b0381168114610b04575f5ffd5b919050565b5f5f60408385031215610b1a575f5ffd5b610b2383610aee565b946020939093013593505050565b5f60208284031215610b41575f5ffd5b61044b82610aee565b5f5f5f60608486031215610b5c575f5ffd5b83359250610b6c60208501610aee565b9150610b7a60408501610aee565b90509250925092565b5f60208284031215610b93575f5ffd5b5035919050565b80358015158114610b04575f5ffd5b5f60208284031215610bb9575f5ffd5b61044b82610b9a565b5f5f60208385031215610bd3575f5ffd5b823567ffffffffffffffff811115610be9575f5ffd5b8301601f81018513610bf9575f5ffd5b803567ffffffffffffffff811115610c0f575f5ffd5b8560208260061b8401011115610c23575f5ffd5b6020919091019590945092505050565b5f5f60408385031215610c44575f5ffd5b610c4d83610aee565b9150610c5b60208401610b9a565b90509250929050565b5f5f5f5f60808587031215610c77575f5ffd5b84359350610c8760208601610aee565b9250610c9560408601610aee565b9396929550929360600135925050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156105ce576105ce610cb9565b818103818111156105ce576105ce610cb956fea2646970667358221220829b150e497c8fefb46418e47679d279d2c15dbfb8915e5355148dc821ee62c064736f6c634300081c003300000000000000000000000015a25cb35723a95c3541ddd7befa803ac042b6b900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204cc0000000000000000000000000eddffe7cf10f1d31cd7a7416172165efd6430a9300000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000000