Staking Methods

Methods for validator and delegator staking operations, epoch queries, and network status.

validatorJoin

Joins as a validator with the specified stake amount.

ParameterTypeRequiredDescription
amountbigint | stringyes
registrationOperatorRegistrationProofyes

Returns: ValidatorJoinResult


validatorDeposit

Adds additional self-stake to an active validator position. The underlying Staking contract requires msg.sender == ValidatorWallet, so the call is routed through the wallet's own validatorDeposit forwarder (which re-enters Staking with the correct sender).

ParameterTypeRequiredDescription
amountbigint | stringyes
validatorAddressyes

Returns: StakingTransactionResult


validatorExit

Exits a validator position by burning the specified shares. Same msg.sender constraint as validatorDeposit — routed via the wallet.

ParameterTypeRequiredDescription
sharesbigint | stringyes
validatorAddressyes

Returns: StakingTransactionResult


validatorClaim

Claims pending validator withdrawals.

ParameterTypeRequiredDescription
validatorAddressno

Returns: StakingTransactionResult & {claimedAmount: bigint}


validatorPrime

Primes a validator for participation in the next epoch.

ParameterTypeRequiredDescription
validatorAddressyes

Returns: StakingTransactionResult


setOperator

@deprecated Use initiateOperatorTransfer followed by completeOperatorTransfer.

ParameterTypeRequiredDescription
validatorAddressyes
operatorAddressyes

Returns: StakingTransactionResult


initiateOperatorTransfer

Starts the two-step operator rotation. The proof is checked against the wallet-bound context before submission so a registration built for the wrong registrar fails locally instead of as an opaque on-chain revert.

ParameterTypeRequiredDescription
optionsInitiateOperatorTransferOptionsyes

Returns: StakingTransactionResult


completeOperatorTransfer

Completes a pending rotation. Callable by the wallet owner or the pending operator, and only once the factory's operatorTransferDelay has elapsed.

ParameterTypeRequiredDescription
optionsCompleteOperatorTransferOptionsyes

Returns: StakingTransactionResult


cancelOperatorTransfer

Abandons a pending rotation, leaving the current operator in place.

ParameterTypeRequiredDescription
optionsCancelOperatorTransferOptionsyes

Returns: StakingTransactionResult


getPendingOperator

Reads the pending operator and when its transfer was initiated.

ParameterTypeRequiredDescription
validatorAddressyes

Returns: PendingOperatorInfo


setIdentity

Sets validator identity information (name, website, social links).

ParameterTypeRequiredDescription
validatorAddressyes
monikerstringyes
logoUristringno
websitestringno
descriptionstringno
emailstringno
twitterstringno
telegramstringno
githubstringno
extraCidstringno

Returns: StakingTransactionResult


delegatorJoin

Delegates stake to a validator.

ParameterTypeRequiredDescription
validatorAddressyes
amountbigint | stringyes

Returns: DelegatorJoinResult


delegatorExit

Exits a delegation by burning the specified shares.

ParameterTypeRequiredDescription
validatorAddressyes
sharesbigint | stringyes

Returns: StakingTransactionResult


delegatorClaim

Claims pending delegator withdrawals.

ParameterTypeRequiredDescription
validatorAddressyes
delegatorAddressno

Returns: StakingTransactionResult


isValidator

Checks whether an address is a registered/joined validator wallet.

ParameterTypeRequiredDescription
addressAddressyes

Returns: boolean


getValidatorInfo

Returns comprehensive information about a validator including stake, identity, and status.

ParameterTypeRequiredDescription
validatorAddressyes

Returns: ValidatorInfo


getCurrentEpoch

Returns the current epoch number.

No parameters.

Returns: bigint


isValidatorBelowMin

Checks whether a validator's self-stake is below the configured validator minimum.

ParameterTypeRequiredDescription
validatorAddressyes

Returns: boolean


getStakeInfo

Returns delegation stake information for a delegator-validator pair.

ParameterTypeRequiredDescription
delegatorAddressyes
validatorAddressyes

Returns: StakeInfo


getEpochInfo

Returns current epoch information including timing, stake requirements, and inflation data.

No parameters.

Returns: EpochInfo


getEpochData

Returns detailed data for a specific epoch.

ParameterTypeRequiredDescription
epochNumberbigintyes

Returns: EpochData


getActiveValidators

Returns validators currently eligible for consensus duties.

No parameters.

Returns: Address[]


getActiveValidatorsCount

Returns the count of validators currently eligible for consensus duties.

No parameters.

Returns: bigint


getJoinedValidators

Returns every validator identity in the append-only joined registry.

No parameters.

Returns: Address[]


getJoinedValidatorsCount

Returns the size of the append-only joined validator registry.

No parameters.

Returns: bigint


getQuarantinedValidators

Returns addresses of validators currently in quarantine.

No parameters.

Returns: Address[]


getBannedValidators

Returns banned validators with ban duration and permanent ban status.

ParameterTypeRequiredDescription
startIndexbigintno
sizebigintno

Returns: BannedValidatorInfo[]


getQuarantinedValidatorsDetailed

Returns detailed quarantine information with pagination.

ParameterTypeRequiredDescription
startIndexbigintno
sizebigintno

Returns: BannedValidatorInfo[]