Kiln
Operators Registry (v1)
This contract handles the list of operators and their keys
Accept the transfer of ownership
Only callable by the pending admin. Resets the pending admin if succesful.
Adds an operator to the registry
Only callable by the administrator
Name | Type | Description |
---|---|---|
Adds new keys for an operator
Only callable by the administrator or the operator address
Retrieves the current admin address
Get operator details
Get operator count
Retrieve the current pending admin address
Retrieve the River address
Get the details of a validator
Initializes the operators registry
Retrieve the active operator set
Retrieve validator keys based on operator statuses
Proposes a new address as admin
This security prevents setting an invalid address as an admin. The pendingadmin has to claim its ownership of the contract, and prove that the newaddress is able to perform regular transactions.
Remove validator keys
Only callable by the administrator or the operator addressThe indexes must be provided sorted in decreasing order and duplicate-free, otherwise the method will revertThe operator limit will be set to the lowest deleted key index if the operator's limit wasn't equal to its total key countThe operator or the admin cannot remove funded keysWhen removing validators, the indexes of specific unfunded keys can be changed in order to properlyremove the keys from the storage array. Beware of this specific behavior when chaining calls as thetargeted public key indexes can point to a different key after a first call was made and performedsome swaps
Changes the operator address of an operator
Only callable by the administrator or the previous operator address
Changes the operator staking limit
Only callable by the administratorThe operator indexes must be in increasing order and contain no duplicateThe limit cannot exceed the total key count of the operatorThe _indexes and _newLimits must have the same length.Each limit value is applied to the operator index at the same index in the _indexes array.
Changes the operator name
Only callable by the administrator or the operator
Changes the operator status
Only callable by the administrator
Changes the operator stopped validator count
Only callable by the administrator
A new operator has been added to the registry
The operator or the admin added new validator keys and signatures
Emitted when the contract is properly initialized
The operator edited its keys after the snapshot block
The call didn't alter the limit of the operator
The operator or the admin removed a public key and its signature from the registry
The admin address changed
The operator address has been changed
The operator limit has been changed
The operator display name has been changed
The operator status has been changed
The operator stopped validator count has been changed
The pending admin address changed
The stored River address has been changed
The calling operator is inactive
The argument was invalid
The provided operator and limits array have different lengths
The provided operator and limits array are empty
Thrown when an invalid empty stopped validator array is provided
The string is empty
A funded key deletion has been attempted
The index that is removed is out of bounds
An error occured during the initialization
The provided key count is 0
The provided concatenated keys do not have the expected length
Thrown when the sum of stopped validators is invalid
The index provided are not sorted properly (descending order)
The address is zero
Thrown when no exit requests can be performed
The value for the operator limit is too high
The value for the limit is too low
The operator was not found
The slice is outside of the initial bytes bounds
The length overflows an uint
The provided stopped validator count array is shrinking
The provided stopped validator count of an operator is above its funded validator count
Throw when an element in the stopped validator array is decreasing
Thrown when the number of elements in the array is too high compared to operator count
The operator is unauthorized for the caller
The provided list of operators is not in increasing order
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
_name
string
The name identifying the operator
_operator
address
The address representing the operator, receiving the rewards
_0
uint256
The index of the new operator
_index
uint256
The operator index
_keyCount
uint256
The amount of keys provided
_publicKeysAndSignatures
bytes
Public keys of the validator, concatenated
_0
address
The admin address
_index
uint256
The index of the operator
_0
Operators.Operator
The details of the operator
_0
uint256
The operator count
_0
address
The pending admin address
_0
address
The address of River
_operatorIndex
uint256
The index of the operator
_validatorIndex
uint256
The index of the validator
publicKey
bytes
The public key of the validator
signature
bytes
The signature used during deposit
funded
bool
True if validator has been funded
_admin
address
Admin in charge of managing operators
_river
address
Address of River system
_0
Operators.Operator[]
The list of active operators and their details
_count
uint256
Max amount of keys requested
publicKeys
bytes[]
An array of public keys
signatures
bytes[]
An array of signatures linked to the public keys
_newAdmin
address
New admin address
_index
uint256
The operator index
_indexes
uint256[]
The indexes of the keys to remove
_index
uint256
The operator index
_newOperatorAddress
address
The new address of the operator
_operatorIndexes
uint256[]
The operator indexes, in increasing order and duplicate free
_newLimits
uint256[]
The new staking limit of the operators
_snapshotBlock
uint256
The block number at which the snapshot was computed
_index
uint256
The operator index
_newName
string
The new operator name
_index
uint256
The operator index
_newStatus
bool
The new status of the operator
_index
uint256
The operator index
_newStoppedValidatorCount
uint256
The new stopped validator count of the operator
index indexed
uint256
undefined
name
string
undefined
operatorAddress indexed
address
undefined
index indexed
uint256
undefined
publicKeysAndSignatures
bytes
undefined
version
uint256
undefined
cdata
bytes
undefined
index indexed
uint256
undefined
currentLimit
uint256
undefined
newLimit
uint256
undefined
latestKeysEditBlockNumber indexed
uint256
undefined
snapshotBlock indexed
uint256
undefined
index indexed
uint256
undefined
limit
uint256
undefined
index indexed
uint256
undefined
publicKey
bytes
undefined
admin indexed
address
undefined
index indexed
uint256
undefined
newOperatorAddress indexed
address
undefined
index indexed
uint256
undefined
newLimit
uint256
undefined
index indexed
uint256
undefined
newName
string
undefined
index indexed
uint256
undefined
active
bool
undefined
index indexed
uint256
undefined
newStoppedValidatorCount
uint256
undefined
pendingAdmin indexed
address
undefined
river indexed
address
undefined
index
uint256
The operator index
version
uint256
The version that was attempting to be initialized
expectedVersion
uint256
The version that was expected
index
uint256
The operator index
limit
uint256
The new limit provided
keyCount
uint256
The operator key count
index
uint256
The operator index
limit
uint256
The new limit provided
fundedKeyCount
uint256
The operator funded key count
index
uint256
The provided index
caller
address
Address performing the call