ILegacyTokenStaking

IKeepTokenStaking

Interface for Keep TokenStaking contract

seize

function seize(uint256 amountToSeize, uint256 rewardMultiplier, address tattletale, address[] misbehavedOperators) external

Seize provided token amount from every member in the misbehaved operators array. The tattletale is rewarded with 5% of the total seized amount scaled by the reward adjustment parameter and the rest 95% is burned.

Parameters

NameTypeDescription

amountToSeize

uint256

Token amount to seize from every misbehaved operator.

rewardMultiplier

uint256

Reward adjustment in percentage. Min 1% and 100% max.

tattletale

address

Address to receive the 5% reward.

misbehavedOperators

address[]

Array of addresses to seize the tokens from.

getDelegationInfo

function getDelegationInfo(address operator) external view returns (uint256 amount, uint256 createdAt, uint256 undelegatedAt)

Gets stake delegation info for the given operator.

Parameters

NameTypeDescription

operator

address

Operator address.

Return Values

NameTypeDescription

amount

uint256

The amount of tokens the given operator delegated.

createdAt

uint256

The time when the stake has been delegated.

undelegatedAt

uint256

The time when undelegation has been requested. If undelegation has not been requested, 0 is returned.

ownerOf

function ownerOf(address operator) external view returns (address)

Gets the stake owner for the specified operator address.

Return Values

NameTypeDescription

[0]

address

Stake owner address.

beneficiaryOf

function beneficiaryOf(address operator) external view returns (address payable)

Gets the beneficiary for the specified operator address.

Return Values

NameTypeDescription

[0]

address payable

Beneficiary address.

authorizerOf

function authorizerOf(address operator) external view returns (address)

Gets the authorizer for the specified operator address.

Return Values

NameTypeDescription

[0]

address

Authorizer address.

eligibleStake

function eligibleStake(address operator, address operatorContract) external view returns (uint256 balance)

Gets the eligible stake balance of the specified address. An eligible stake is a stake that passed the initialization period and is not currently undelegating. Also, the operator had to approve the specified operator contract.

Operator with a minimum required amount of eligible stake can join the network and participate in new work selection.

Parameters

NameTypeDescription

operator

address

address of stake operator.

operatorContract

address

address of operator contract.

Return Values

NameTypeDescription

balance

uint256

an uint256 representing the eligible stake balance.

INuCypherStakingEscrow

Interface for NuCypher StakingEscrow contract

slashStaker

function slashStaker(address staker, uint256 penalty, address investigator, uint256 reward) external

Slash the staker's stake and reward the investigator

Parameters

NameTypeDescription

staker

address

Staker's address

penalty

uint256

Penalty

investigator

address

Investigator

reward

uint256

Reward for the investigator

requestMerge

function requestMerge(address staker, address stakingProvider) external returns (uint256)

Request merge between NuCypher staking contract and T staking contract. Returns amount of staked tokens

getAllTokens

function getAllTokens(address staker) external view returns (uint256)

Get all tokens belonging to the staker

Last updated