0 txs
12.3k calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
disputeManager
viewfunction disputeManager() 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)
minimumStakeAmount
viewfunction minimumStakeAmount() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
poolManager
viewfunction poolManager() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
redelegateDelayPeriod
viewfunction redelegateDelayPeriod() view returns (uint256)
stakeManager
viewfunction stakeManager() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenDistributor
viewfunction tokenDistributor() view returns (address)
unstakeDelayPeriod
viewfunction unstakeDelayPeriod() view returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
acceptOwnership
nonpayablefunction acceptOwnership()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _stakeManager, address _poolManager, address _disputeManager)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDisputeManager
nonpayablefunction setDisputeManager(address _disputeManager)
setMinimumStakeAmount
nonpayablefunction setMinimumStakeAmount(uint256 newMinimumStakeAmount)
setPoolManager
nonpayablefunction setPoolManager(address _poolManager)
setRedelegateDelayPeriod
nonpayablefunction setRedelegateDelayPeriod(uint256 newRedelegatePeriod)
setStakeManager
nonpayablefunction setStakeManager(address _stakeManager)
setTokenDistributor
nonpayablefunction setTokenDistributor(address _tokenDistributor)
setUnstakeDelayPeriod
nonpayablefunction setUnstakeDelayPeriod(uint256 newUnstakeDelay)
slash
nonpayablefunction slash(address[] accounts, uint256[] amounts)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unjail
nonpayablefunction unjail(address account)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
DisputeManagerUpdated
event DisputeManagerUpdated(address indexed disputeManager)
Initialized
event Initialized(uint64 version)
MinimumStakeAmountUpdated
event MinimumStakeAmountUpdated(uint256 indexed newMinimumStakeAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
PoolManagerUpdated
event PoolManagerUpdated(address indexed poolManager)
RedelegateDelayPeriodUpdated
event RedelegateDelayPeriodUpdated(uint256 indexed newRedelegatePeriod)
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)
StakeManagerUpdated
event StakeManagerUpdated(address indexed stakeManager)
TokenDistributorUpdated
event TokenDistributorUpdated(address indexed tokenDistributor)
UnstakeDelayPeriodUpdated
event UnstakeDelayPeriodUpdated(uint256 indexed newUnstakeDelay)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
InvalidLength
error InvalidLength()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f80fd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611b796100f95f395f8181610ec501528181610eee015261102d0152611b795ff3fe6080604052600436106101f1575f3560e01c8063715018a611610108578063ad3cb1cc1161009d578063d547741f1161006d578063d547741f14610570578063dc4c90d31461058f578063e30c3978146105ae578063f2fde38b146105c2578063f544c3a6146105e1575f80fd5b8063ad3cb1cc146104d6578063bed125d414610513578063c0c53b8b14610532578063ca15c87314610551575f80fd5b80638da5cb5b116100d85780638da5cb5b146104715780639010d07c1461048557806391d14854146104a4578063a217fddf146104c3575f80fd5b8063715018a61461040b5780637542ff951461041f57806379ba50971461043e5780637aef671514610452575f80fd5b806338280e6b1161018957806352d1902d1161015957806352d1902d146103905780635dcf737c146103a4578063697bbd74146103c35780636b036f45146103e25780636c6f927d146103f6575f80fd5b806338280e6b1461032a5780633f5da5a314610349578063449ecfe61461035e5780634f1ef2861461037d575f80fd5b8063248a9ca3116101c4578063248a9ca3146102a05780632958bacd146102cd5780632f2ff15d146102ec57806336568abe1461030b575f80fd5b806301ffc9a7146101f55780630d29fcd4146102295780630e7c67fc1461024a57806318a6bc3214610269575b5f80fd5b348015610200575f80fd5b5061021461020f3660046116e1565b610600565b60405190151581526020015b60405180910390f35b348015610234575f80fd5b50610248610243366004611708565b61062a565b005b348015610255575f80fd5b50610248610264366004611733565b610668565b348015610274575f80fd5b50600654610288906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b3480156102ab575f80fd5b506102bf6102ba366004611708565b6106c0565b604051908152602001610220565b3480156102d8575f80fd5b506102486102e7366004611733565b6106e0565b3480156102f7575f80fd5b5061024861030636600461174e565b610738565b348015610316575f80fd5b5061024861032536600461174e565b61075a565b348015610335575f80fd5b50610248610344366004611733565b610792565b348015610354575f80fd5b506102bf60025481565b348015610369575f80fd5b50610248610378366004611733565b6107ea565b61024861038b3660046117c1565b610858565b34801561039b575f80fd5b506102bf610877565b3480156103af575f80fd5b506102486103be366004611708565b610892565b3480156103ce575f80fd5b506102486103dd3660046118f2565b6108d3565b3480156103ed575f80fd5b506102bf5f5481565b348015610401575f80fd5b506102bf60015481565b348015610416575f80fd5b506102486109c3565b34801561042a575f80fd5b50600454610288906001600160a01b031681565b348015610449575f80fd5b506102486109d6565b34801561045d575f80fd5b5061024861046c366004611733565b610a23565b34801561047c575f80fd5b50610288610a7b565b348015610490575f80fd5b5061028861049f3660046119ae565b610aaf565b3480156104af575f80fd5b506102146104be36600461174e565b610adc565b3480156104ce575f80fd5b506102bf5f81565b3480156104e1575f80fd5b50610506604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161022091906119f0565b34801561051e575f80fd5b5061024861052d366004611708565b610b12565b34801561053d575f80fd5b5061024861054c366004611a22565b610b53565b34801561055c575f80fd5b506102bf61056b366004611708565b610d0d565b34801561057b575f80fd5b5061024861058a36600461174e565b610d38565b34801561059a575f80fd5b50600554610288906001600160a01b031681565b3480156105b9575f80fd5b50610288610d54565b3480156105cd575f80fd5b506102486105dc366004611733565b610d7c565b3480156105ec575f80fd5b50600354610288906001600160a01b031681565b5f6001600160e01b03198216635a05180f60e01b1480610624575061062482610e01565b92915050565b63e200000061063881610e35565b5f82815560405183917ff7fc4cb95c43f64f7a376fd9ef5947d85e6aff2df3e9b1715789ffff63d7163291a25050565b63e200000061067681610e35565b600480546001600160a01b0319166001600160a01b0384169081179091556040517f18c7cdf94f8233bc399bdc8cb14514437756e7e9c583510d72b3a337f33b14a7905f90a25050565b5f9081525f80516020611b24833981519152602052604090206001015490565b63e00000006106ee81610e35565b600380546001600160a01b0319166001600160a01b0384169081179091556040517f475049373d4459b9633cb72ad53f524ba7399451b20169d88b36d5d532f01bbb905f90a25050565b610741826106c0565b61074a81610e35565b6107548383610e3f565b50505050565b6001600160a01b03811633146107835760405163334bd91960e11b815260040160405180910390fd5b61078d8282610e81565b505050565b63e20000006107a081610e35565b600680546001600160a01b0319166001600160a01b0384169081179091556040517fa8b48a56ec01f81c3615a21ec43e16b925c26293e0801cf6330427f2a687f053905f90a25050565b63e20000006107f881610e35565b6004805460405163224f67f360e11b81526001600160a01b038581169382019390935291169063449ecfe6906024015f604051808303815f87803b15801561083e575f80fd5b505af1158015610850573d5f803e3d5ffd5b505050505050565b610860610eba565b61086982610f5e565b6108738282610f66565b5050565b5f610880611022565b505f80516020611b0483398151915290565b63e20000006108a081610e35565b600182905560405182907fc7ac9f3e99bdfd26b6b8d843ef96c68667c4cf1a920996744bb2dcb4ae912d82905f90a25050565b63e20000006108e181610e35565b81518351146109035760405163251f56a160e21b815260040160405180910390fd5b5f5b83518110156107545760045484516001600160a01b03909116906302fb4d859086908490811061093757610937611a6a565b602002602001015185848151811061095157610951611a6a565b60200260200101516040518363ffffffff1660e01b815260040161098a9291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b1580156109a1575f80fd5b505af11580156109b3573d5f803e3d5ffd5b5050600190920191506109059050565b6109cb61106b565b6109d45f61109d565b565b33806109e0610d54565b6001600160a01b031614610a175760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b610a208161109d565b50565b63e1000000610a3181610e35565b600580546001600160a01b0319166001600160a01b0384169081179091556040517f70a64736553c84939f57deec269299882abbbee8dc4f316eccbc6fce57e4d3cf905f90a25050565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b5f8281525f80516020611ae4833981519152602081905260408220610ad490846110d5565b949350505050565b5f9182525f80516020611b24833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b63e2000000610b2081610e35565b600282905560405182907f02d9caf14f0bd24b0dc6d3de673cae723e95213a2a996ef2c5eb5ab3e5c2910c905f90a25050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610b985750825b90505f8267ffffffffffffffff166001148015610bb45750303b155b905081158015610bc2575080155b15610be05760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c0a57845460ff60401b1916600160401b1785555b610c126110e0565b610c1b336110e8565b610c2963ea000000806110f9565b610c3b63e000000063ea0000006110f9565b610c4d63e200000063ea0000006110f9565b610c5f63e100000063ea0000006110f9565b610c7163e200000163ea0000006110f9565b610c7f63ea00000033610e3f565b50600480546001600160a01b03808b166001600160a01b031992831617909255600580548a841690831617905560038054928916929091169190911790558315610d0357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f8181525f80516020611ae4833981519152602081905260408220610d3190611159565b9392505050565b610d41826106c0565b610d4a81610e35565b6107548383610e81565b5f807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610a9f565b610d8461106b565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255610dc8610a7b565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b5f6001600160e01b03198216637965db0b60e01b148061062457506301ffc9a760e01b6001600160e01b0319831614610624565b610a208133611162565b5f5f80516020611ae483398151915281610e59858561119b565b90508015610ad4575f858152602083905260409020610e78908561123c565b50949350505050565b5f5f80516020611ae483398151915281610e9b8585611250565b90508015610ad4575f858152602083905260409020610e7890856112c9565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610f4057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f345f80516020611b04833981519152546001600160a01b031690565b6001600160a01b031614155b156109d45760405163703e46dd60e11b815260040160405180910390fd5b610a2061106b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fc0575060408051601f3d908101601f19168201909252610fbd91810190611a7e565b60015b610fe857604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610a0e565b5f80516020611b04833981519152811461101857604051632a87526960e21b815260048101829052602401610a0e565b61078d83836112dd565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109d45760405163703e46dd60e11b815260040160405180910390fd5b33611074610a7b565b6001600160a01b0316146109d45760405163118cdaa760e01b8152336004820152602401610a0e565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b031916815561087382611332565b5f610d3183836113a2565b6109d46113c8565b6110f06113c8565b610a2081611411565b5f80516020611b248339815191525f611111846106c0565b5f85815260208490526040808220600101869055519192508491839187917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a450505050565b5f610624825490565b61116c8282610adc565b6108735760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610a0e565b5f5f80516020611b248339815191526111b48484610adc565b611233575f848152602082815260408083206001600160a01b03871684529091529020805460ff191660011790556111e93390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610624565b5f915050610624565b5f610d31836001600160a01b038416611442565b5f5f80516020611b248339815191526112698484610adc565b15611233575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610624565b5f610d31836001600160a01b03841661148e565b6112e682611568565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561132a5761078d82826115cb565b61087361163d565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f825f0182815481106113b7576113b7611a6a565b905f5260205f200154905092915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166109d457604051631afcd79f60e31b815260040160405180910390fd5b6114196113c8565b6001600160a01b038116610a1757604051631e4fbdf760e01b81525f6004820152602401610a0e565b5f81815260018301602052604081205461148757508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610624565b505f610624565b5f8181526001830160205260408120548015611233575f6114b0600183611a95565b85549091505f906114c390600190611a95565b9050808214611522575f865f0182815481106114e1576114e1611a6a565b905f5260205f200154905080875f01848154811061150157611501611a6a565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061153357611533611ab4565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610624565b806001600160a01b03163b5f0361159d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610a0e565b5f80516020611b0483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516115e79190611ac8565b5f60405180830381855af49150503d805f811461161f576040519150601f19603f3d011682016040523d82523d5f602084013e611624565b606091505b509150915061163485838361165c565b95945050505050565b34156109d45760405163b398979f60e01b815260040160405180910390fd5b6060826116715761166c826116b8565b610d31565b815115801561168857506001600160a01b0384163b155b156116b157604051639996b31560e01b81526001600160a01b0385166004820152602401610a0e565b5092915050565b8051156116c85780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f602082840312156116f1575f80fd5b81356001600160e01b031981168114610d31575f80fd5b5f60208284031215611718575f80fd5b5035919050565b6001600160a01b0381168114610a20575f80fd5b5f60208284031215611743575f80fd5b8135610d318161171f565b5f806040838503121561175f575f80fd5b8235915060208301356117718161171f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117b9576117b961177c565b604052919050565b5f80604083850312156117d2575f80fd5b82356117dd8161171f565b915060208381013567ffffffffffffffff808211156117fa575f80fd5b818601915086601f83011261180d575f80fd5b81358181111561181f5761181f61177c565b611831601f8201601f19168501611790565b91508082528784828501011115611846575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f67ffffffffffffffff82111561187c5761187c61177c565b5060051b60200190565b5f82601f830112611895575f80fd5b813560206118aa6118a583611863565b611790565b8083825260208201915060208460051b8701019350868411156118cb575f80fd5b602086015b848110156118e757803583529183019183016118d0565b509695505050505050565b5f8060408385031215611903575f80fd5b823567ffffffffffffffff8082111561191a575f80fd5b818501915085601f83011261192d575f80fd5b8135602061193d6118a583611863565b82815260059290921b8401810191818101908984111561195b575f80fd5b948201945b838610156119825785356119738161171f565b82529482019490820190611960565b96505086013592505080821115611997575f80fd5b506119a485828601611886565b9150509250929050565b5f80604083850312156119bf575f80fd5b50508035926020909101359150565b5f5b838110156119e85781810151838201526020016119d0565b50505f910152565b602081525f8251806020840152611a0e8160408501602087016119ce565b601f01601f19169190910160400192915050565b5f805f60608486031215611a34575f80fd5b8335611a3f8161171f565b92506020840135611a4f8161171f565b91506040840135611a5f8161171f565b809150509250925092565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a8e575f80fd5b5051919050565b8181038181111561062457634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b5f8251611ad98184602087016119ce565b919091019291505056fec1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220ee8101483ac7ba5f9cad35be51cb0684920a1ebb64eccd383b767870066b01bc64736f6c63430008180033