0 txs
13k calls
constructor
constructor()
functions
core
viewfunction core() view returns (address)
delegatedBalance
viewfunction delegatedBalance(address delegatee) view returns (uint256 amount)
delegates
viewfunction delegates(address delegator) view returns (address delegatee)
elixirToken
viewfunction elixirToken() view returns (address)
isJailed
viewfunction isJailed(address validator) view returns (bool jailed)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
signalRedelegateTimestamp
viewfunction signalRedelegateTimestamp(address staker) view returns (uint256 timestamp)
signalUnstakeTimestamp
viewfunction signalUnstakeTimestamp(address staker) view returns (uint256 timestamp)
stakedBalance
viewfunction stakedBalance(address staker) view returns (uint256 amount)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
acceptOwnership
nonpayablefunction acceptOwnership()
cancelSignalRedelegate
nonpayablefunction cancelSignalRedelegate()
cancelSignalUnstake
nonpayablefunction cancelSignalUnstake()
delegate
nonpayablefunction delegate(address validator)
initialize
nonpayablefunction initialize(address _elixirToken, address _core)
jail
nonpayablefunction jail(address validator)
renounceOwnership
nonpayablefunction renounceOwnership()
signalRedelegate
nonpayablefunction signalRedelegate()
signalUnstake
nonpayablefunction signalUnstake()
slash
nonpayablefunction slash(address staker, uint256 amount)
stake
nonpayablefunction stake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
undelegate
nonpayablefunction undelegate()
unjail
nonpayablefunction unjail(address validator)
unstake
nonpayablefunction unstake(uint256 amount)
updateToken
nonpayablefunction updateToken(address _token)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
BalanceChanged
event BalanceChanged(address indexed delegate, uint256 oldBalance, uint256 newBalance)
CancelSignalRedelegate
event CancelSignalRedelegate(address indexed staker, address currentDelegatee, uint256 currentDelegatedBalance)
CancelSignalUnstake
event CancelSignalUnstake(address indexed staker, uint256 currentStakedBalance)
DelegateChanged
event DelegateChanged(address indexed delegator, address indexed oldDelegatee, address indexed newDelegatee, uint256 oldDelegateeBalance, uint256 newDelegateeBalance)
Initialized
event Initialized(uint64 version)
Jailed
event Jailed(address indexed validator)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
SignalRedelegate
event SignalRedelegate(address indexed staker, address currentDelegatee, uint256 currentDelegatedBalance)
SignalUnstake
event SignalUnstake(address indexed staker, uint256 timestamp, uint256 currentStakedBalance)
Slashed
event Slashed(address indexed staker, uint256 amount, uint256 newStakerBalance)
Staked
event Staked(address indexed staker, uint256 amount, uint256 newStakerBalance)
Unjailed
event Unjailed(address indexed validator)
Unstaked
event Unstaked(address indexed staker, uint256 amount, uint256 newStakerBalance)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AlreadyClaimed
error AlreadyClaimed()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InsufficientStakedBalance
error InsufficientStakedBalance()
InvalidAddress
error InvalidAddress()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
RedelegateInProgress
error RedelegateInProgress()
RedelegateNotSignalled
error RedelegateNotSignalled()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnauthorizedCaller
error UnauthorizedCaller()
UnstakeInProgress
error UnstakeInProgress()
UnstakeNotSignalled
error UnstakeNotSignalled()
UnstakeSignalled
error UnstakeSignalled()
UserDelegating
error UserDelegating()
UserJailed
error UserJailed(address staker, address delegatee)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f80fd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612048620000fa5f395f818161144b0152818161147401526115b301526120485ff3fe6080604052600436106101ba575f3560e01c8063715018a6116100f25780639ad18b5d11610092578063e30c397811610062578063e30c3978146104f9578063e784b9631461050d578063f2f4eb2614610538578063f2fde38b14610557575f80fd5b80639ad18b5d1461046a5780639bcbea521461047e578063a694fc3a1461049d578063ad3cb1cc146104bc575f80fd5b80638a5629a0116100cd5780638a5629a0146104035780638da5cb5b1461041757806392ab89bb1461042b57806395d98c931461043f575f80fd5b8063715018a6146103bc57806379ba5097146103d05780637ad3def2146103e4575f80fd5b8063485cc9551161015d578063587cde1e11610138578063587cde1e146103135780635c19a95c1461034757806360217267146103665780636fbcadb114610391575f80fd5b8063485cc955146102bf5780634f1ef286146102de57806352d1902d146102f1575f80fd5b80632e17de78116101985780632e17de78146102595780632e571c6f146102785780633c9af7b31461028c578063449ecfe6146102a0575f80fd5b806302fb4d85146101be57806309877856146101df57806314bfb5271461021b575b5f80fd5b3480156101c9575f80fd5b506101dd6101d8366004611d93565b610576565b005b3480156101ea575f80fd5b506007546101fe906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610226575f80fd5b50610249610235366004611dbd565b60056020525f908152604090205460ff1681565b6040519015158152602001610212565b348015610264575f80fd5b506101dd610273366004611dd8565b61065c565b348015610283575f80fd5b506101dd610998565b348015610297575f80fd5b506101dd610a8b565b3480156102ab575f80fd5b506101dd6102ba366004611dbd565b610b22565b3480156102ca575f80fd5b506101dd6102d9366004611def565b610b95565b6101dd6102ec366004611e3a565b610cdc565b3480156102fc575f80fd5b50610305610cf7565b604051908152602001610212565b34801561031e575f80fd5b506101fe61032d366004611dbd565b60026020525f90815260409020546001600160a01b031681565b348015610352575f80fd5b506101dd610361366004611dbd565b610d12565b348015610371575f80fd5b50610305610380366004611dbd565b5f6020819052908152604090205481565b34801561039c575f80fd5b506103056103ab366004611dbd565b60036020525f908152604090205481565b3480156103c7575f80fd5b506101dd610d45565b3480156103db575f80fd5b506101dd610d58565b3480156103ef575f80fd5b506101dd6103fe366004611dbd565b610d9d565b34801561040e575f80fd5b506101dd610dc7565b348015610422575f80fd5b506101fe610ed5565b348015610436575f80fd5b506101dd610f09565b34801561044a575f80fd5b50610305610459366004611dbd565b60016020525f908152604090205481565b348015610475575f80fd5b506101dd610f12565b348015610489575f80fd5b506101dd610498366004611dbd565b610f89565b3480156104a8575f80fd5b506101dd6104b7366004611dd8565b611079565b3480156104c7575f80fd5b506104ec604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516102129190611f1a565b348015610504575f80fd5b506101fe6111be565b348015610518575f80fd5b50610305610527366004611dbd565b60046020525f908152604090205481565b348015610543575f80fd5b506006546101fe906001600160a01b031681565b348015610562575f80fd5b506101dd610571366004611dbd565b6111e6565b6006546001600160a01b031633146105a157604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b0382165f90815260208190526040812080548392906105c8908490611f60565b90915550506001600160a01b038083165f908152600260205260408120546105f29216908361126b565b600754610609906001600160a01b031633836113c8565b6001600160a01b0382165f8181526020818152604091829020548251858152918201527f45a371af55b0726877a30f464edc14db5879ab096590bacce682cf6c1822359691015b60405180910390a25050565b335f818152600260205260409020546001600160a01b0316801580159061069a57506001600160a01b0381165f9081526005602052604090205460ff165b156106d0576040516393144f1960e01b81526001600160a01b038084166004830152821660248201526044015b60405180910390fd5b60065f9054906101000a90046001600160a01b03166001600160a01b03166318a6bc326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610720573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107449190611f73565b6001600160a01b0316336001600160a01b0316146108b457335f90815260046020526040812054900361078a5760405163028221f560e51b815260040160405180910390fd5b600654604051632474521560e21b815263e200000160048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa1580156107da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fe9190611f8e565b158015610896575060065f9054906101000a90046001600160a01b03166001600160a01b0316636c6f927d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610856573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087a9190611fad565b335f908152600460205260409020546108939190611fc4565b42105b156108b457604051633c10931960e21b815260040160405180910390fd5b335f908152602081905260409020548311156108e3576040516345a5c39960e11b815260040160405180910390fd5b335f908152600460209081526040808320839055908290528120805485929061090d908490611f60565b9091555050335f90815260026020526040812054610937916001600160a01b03909116908561126b565b60075461094e906001600160a01b031633856113c8565b335f8181526020818152604091829020548251878152918201527f7fc4727e062e336010f2c282598ef5f14facb3de68cf8195c2f23e1454b2b74e910160405180910390a2505050565b335f818152600260205260409020546001600160a01b031680158015906109d657506001600160a01b0381165f9081526005602052604090205460ff165b15610a07576040516393144f1960e01b81526001600160a01b038084166004830152821660248201526044016106c7565b335f908152600260205260409020546001600160a01b031615610a8757335f818152600360209081526040808320429055600282528083205460018352928190205481516001600160a01b039094168452918301919091527f78f7966999225a8285d6d7aa7400c09af885cd41c236218c415f7ead8066d4b09101610650565b5050565b335f908152600360205260408120549003610ab9576040516377b1f39d60e11b815260040160405180910390fd5b335f818152600360209081526040808320839055600282528083205460018352928190205481516001600160a01b039094168452918301919091527fb46652c9fd179ff1b67ae49a8c794bc9566ec9fc9a5b8aa897299704e7f7357291015b60405180910390a2565b6006546001600160a01b03163314610b4d57604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b0381165f81815260056020526040808220805460ff19169055517ffa5039497ad9ba11f0eb5239b2614e925541bbcc0cf3476dd68e1927c86d33ff9190a250565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610bda5750825b90505f8267ffffffffffffffff166001148015610bf65750303b155b905081158015610c04575080155b15610c225760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c4c57845460ff60401b1916600160401b1785555b610c54611427565b610c5d3361142f565b600780546001600160a01b03808a166001600160a01b03199283161790925560068054928916929091169190911790558315610cd357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b610ce4611440565b610ced826114e4565b610a8782826114ec565b5f610d006115a8565b505f80516020611ff383398151915290565b6001600160a01b038116610d395760405163e6c4247b60e01b815260040160405180910390fd5b610d42816115f1565b50565b610d4d61190c565b610d565f61193e565b565b3380610d626111be565b6001600160a01b031614610d945760405163118cdaa760e01b81526001600160a01b03821660048201526024016106c7565b610d428161193e565b610da561190c565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b335f818152600260205260409020546001600160a01b03168015801590610e0557506001600160a01b0381165f9081526005602052604090205460ff165b15610e36576040516393144f1960e01b81526001600160a01b038084166004830152821660248201526044016106c7565b335f908152600460205260408120549003610a8757335f908152600260205260409020546001600160a01b031615610e8157604051633f17bda160e01b815260040160405180910390fd5b335f818152600460209081526040808320429081905591839052918290205491517f26d1231332f7884d79536c4379a3b10c9cbde4d003f032e70b8de001f84b2d0a92610650928252602082015260400190565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b610d565f6115f1565b335f908152600460205260408120549003610f405760405163028221f560e51b815260040160405180910390fd5b335f818152600460209081526040808320839055828252918290205491519182527ff616faf8315c6fec0e201f548a5a10f12264c3db1d82b927dcc339c4357d474b9101610b18565b60065f9054906101000a90046001600160a01b03166001600160a01b031663f544c3a66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ffd9190611f73565b6001600160a01b0316336001600160a01b03161461102e57604051635c427cd960e01b815260040160405180910390fd5b6001600160a01b0381165f81815260056020526040808220805460ff19166001179055517f519ec2af7b403e5bfa116afc87904cd6aa3e97a09cae81b522551191195674e79190a250565b335f818152600260205260409020546001600160a01b031680158015906110b757506001600160a01b0381165f9081526005602052604090205460ff165b156110e8576040516393144f1960e01b81526001600160a01b038084166004830152821660248201526044016106c7565b335f8181526004602052604090205415611115576040516317fb55b760e21b815260040160405180910390fd5b60075461112d906001600160a01b0316333087611976565b335f908152602081905260408120805486929061114b908490611fc4565b9091555050335f9081526002602052604081205461117391906001600160a01b03168661126b565b335f8181526020818152604091829020548251888152918201527f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a250505050565b5f807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610ef9565b6111ee61190c565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b0383169081178255611232610ed5565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b816001600160a01b0316836001600160a01b03161480611289575080155b1561129357505050565b6001600160a01b0383161561132b576001600160a01b0383165f818152600160205260409020547faeeb0cb16f299136e7e5467ea84217150fe83008833064528f360cde7b7b54c3906112e68482611f60565b6040805192835260208301919091520160405180910390a26001600160a01b0383165f9081526001602052604081208054839290611325908490611f60565b90915550505b6001600160a01b038216156113c3576001600160a01b0382165f818152600160205260409020547faeeb0cb16f299136e7e5467ea84217150fe83008833064528f360cde7b7b54c39061137e8482611fc4565b6040805192835260208301919091520160405180910390a26001600160a01b0382165f90815260016020526040812080548392906113bd908490611fc4565b90915550505b505050565b6040516001600160a01b038381166024830152604482018390526113c391859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506119b5565b610d56611a16565b611437611a16565b610d4281611a5f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806114c657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114ba5f80516020611ff3833981519152546001600160a01b031690565b6001600160a01b031614155b15610d565760405163703e46dd60e11b815260040160405180910390fd5b610d4261190c565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611546575060408051601f3d908101601f1916820190925261154391810190611fad565b60015b61156e57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016106c7565b5f80516020611ff3833981519152811461159e57604051632a87526960e21b8152600481018290526024016106c7565b6113c38383611a90565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d565760405163703e46dd60e11b815260040160405180910390fd5b335f818152600260205260409020546001600160a01b0316801580159061162f57506001600160a01b0381165f9081526005602052604090205460ff165b15611660576040516393144f1960e01b81526001600160a01b038084166004830152821660248201526044016106c7565b335f818152600460205260409020541561168d576040516317fb55b760e21b815260040160405180910390fd5b335f908152600260205260409020546001600160a01b0316801561180357335f9081526003602052604081205490036116d9576040516377b1f39d60e11b815260040160405180910390fd5b600654604051632474521560e21b815263e200000160048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa158015611729573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174d9190611f8e565b1580156117e5575060065f9054906101000a90046001600160a01b03166001600160a01b0316633f5da5a36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c99190611fad565b335f908152600360205260409020546117e29190611fc4565b42105b15611803576040516333b99d6360e21b815260040160405180910390fd5b6001600160a01b0385161580159061183257506001600160a01b0385165f9081526005602052604090205460ff165b15611861576040516393144f1960e01b81523360048201526001600160a01b03861660248201526044016106c7565b335f9081526020819052604090205461187d908290879061126b565b335f81815260026020908152604080832080546001600160a01b0319166001600160a01b038b811691821790925560038452828520859055908616808552600184528285205482865294839020548351958652938501939093529391927f8c2f39773c987f72fd7d81203879b3c971fca4549dc7ab03b5f32d19e8f25092910160405180910390a45050505050565b33611915610ed5565b6001600160a01b031614610d565760405163118cdaa760e01b81523360048201526024016106c7565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319168155610a8782611ae5565b6040516001600160a01b0384811660248301528381166044830152606482018390526119af9186918216906323b872dd906084016113f5565b50505050565b5f6119c96001600160a01b03841683611b55565b905080515f141580156119ed5750808060200190518101906119eb9190611f8e565b155b156113c357604051635274afe760e01b81526001600160a01b03841660048201526024016106c7565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610d5657604051631afcd79f60e31b815260040160405180910390fd5b611a67611a16565b6001600160a01b038116610d9457604051631e4fbdf760e01b81525f60048201526024016106c7565b611a9982611b6b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115611add576113c38282611bce565b610a87611c40565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6060611b6283835f611c5f565b90505b92915050565b806001600160a01b03163b5f03611ba057604051634c9c8ce360e01b81526001600160a01b03821660048201526024016106c7565b5f80516020611ff383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051611bea9190611fd7565b5f60405180830381855af49150503d805f8114611c22576040519150601f19603f3d011682016040523d82523d5f602084013e611c27565b606091505b5091509150611c37858383611cfa565b95945050505050565b3415610d565760405163b398979f60e01b815260040160405180910390fd5b606081471015611c845760405163cd78605960e01b81523060048201526024016106c7565b5f80856001600160a01b03168486604051611c9f9190611fd7565b5f6040518083038185875af1925050503d805f8114611cd9576040519150601f19603f3d011682016040523d82523d5f602084013e611cde565b606091505b5091509150611cee868383611cfa565b925050505b9392505050565b606082611d0f57611d0a82611d56565b611cf3565b8151158015611d2657506001600160a01b0384163b155b15611d4f57604051639996b31560e01b81526001600160a01b03851660048201526024016106c7565b5080611cf3565b805115611d665780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610d42575f80fd5b5f8060408385031215611da4575f80fd5b8235611daf81611d7f565b946020939093013593505050565b5f60208284031215611dcd575f80fd5b8135611cf381611d7f565b5f60208284031215611de8575f80fd5b5035919050565b5f8060408385031215611e00575f80fd5b8235611e0b81611d7f565b91506020830135611e1b81611d7f565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611e4b575f80fd5b8235611e5681611d7f565b9150602083013567ffffffffffffffff80821115611e72575f80fd5b818501915085601f830112611e85575f80fd5b813581811115611e9757611e97611e26565b604051601f8201601f19908116603f01168101908382118183101715611ebf57611ebf611e26565b81604052828152886020848701011115611ed7575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f5b83811015611f12578181015183820152602001611efa565b50505f910152565b602081525f8251806020840152611f38816040850160208701611ef8565b601f01601f19169190910160400192915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611b6557611b65611f4c565b5f60208284031215611f83575f80fd5b8151611cf381611d7f565b5f60208284031215611f9e575f80fd5b81518015158114611cf3575f80fd5b5f60208284031215611fbd575f80fd5b5051919050565b80820180821115611b6557611b65611f4c565b5f8251611fe8818460208701611ef8565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212205616ae0bf48243534fe3496d0d086dfa414bb055949972fb9ebbe6a22c4a0ba164736f6c63430008180033