LogoLogo
Threshold WebsitetBTC v2 DocsTACo Docs
  • What is the Threshold Network?
  • THRESHOLD DASHBOARD
    • tBTC Minting Walkthrough
  • Applications
    • tBTC Bitcoin Bridge
      • Fees
      • Wallet Generation
      • Wallet Signing
      • The Path to Permissionlessness
      • Sweeping
      • Coverage Pool
    • Threshold USD
      • Overview of thUSD
      • Borrowing
      • Stability Pool and Liquidations
      • Redemptions and thUSD Price Stability
      • Recovery Mode
      • Bootstrapping
        • Initial Protocol Loan
      • B. Protocol
      • thUSD on Build on Bitcoin (BOB)
        • Connecting to BOB Network
        • Bridging Collateral to BOB Network
        • Opening Collateral Vaults and Minting thUSD
  • Governance
    • Threshold DAO
      • 🗳️Governance Process
      • 🙋‍♀️Guilds
      • 💰Threshold Multisigs
      • Threshold DAO Rules
    • Vote Delegation
      • Liquid Token Delegation
  • Staking & Running a Node
    • tBTC v2 Node Setup
      • Operator Account
      • Application Authorization & Operator Registration
      • Network Configuration
      • Data Storage
      • Installation
        • Docker Installation
        • Binary Installation
      • Updating tBTC v2 Node
      • Advanced Options
        • Alternatives to Dashboard
        • Logging
        • Config File
        • CLI Options
        • Client Info
      • Frequently Asked Questions
      • Sepolia Testnet
        • Testnet tBTC v2 node Setup
    • tBTC Beta Stakers Program
  • App Development
    • DAO Contracts
      • DAO Contracts API
        • BaseTokenholderGovernor
        • Checkpoints
        • GovernorParameters
        • IApplication
        • ILegacyTokenStaking
        • IStaking
        • IVotesHistory
        • KeepStake
        • PercentUtils
        • ProxyAdminWithDeputy
        • SafeTUpgradeable
        • StakerGovernor
        • StakerGovernorVotes
        • T
        • TokenholderGovernor
        • TokenholderGovernorVotes
        • TokenStaking
        • VendingMachine
    • Random Beacon
      • Random Beacon API
        • AltBn128
        • BeaconAuthorization
        • BeaconDkg
        • BeaconDkgValidator
        • BeaconInactivity
        • BLS
        • BytesLib
        • Callback
        • Governable
        • Groups
        • IRandomBeacon
        • IRandomBeaconConsumer
        • ModUtils
        • RandomBeacon
        • RandomBeaconChaosnet
        • RandomBeaconGovernance
        • Reimbursable
        • ReimbursementPool
        • Relay
    • tBTC
      • tBTC SDK
        • Quickstart
        • Architecture
        • Guides
          • Initialize SDK
            • Ethereum and Bitcoin mainnet
            • Ethereum and Bitcoin testnet
            • Crosschain
            • Custom mode
          • Deposit and mint
          • Unmint and redeem
        • API Reference
      • tBTC Contracts API
        • Bridge API
          • Bank
          • BitcoinTx
          • Bridge
          • BridgeGovernance
          • BridgeGovernanceParameters
          • BridgeState
          • Deposit
          • DepositSweep
          • DonationVault
          • EcdsaLib
          • Fraud
          • GovernanceUtils
          • Heartbeat
          • IReceiveBalanceApproval
          • IRelay
          • IVault
          • L2TBTC
          • L2WormholeGateway
          • LightRelay
          • LightRelayMaintainerProxy
          • MaintainerProxy
          • MovingFunds
          • Redemption
          • TBTC
          • TBTCOptimisticMinting
          • TBTCVault
          • VendingMachine
          • VendingMachineV2
          • VendingMachineV3
          • WalletCoordinator
          • Wallets
        • ECDSA API
          • EcdsaAuthorization
          • EcdsaDkg
          • EcdsaDkgValidator
          • EcdsaInactivity
          • IWalletOwner
          • IWalletRegistry
          • WalletRegistry
          • WalletRegistryGovernance
          • Wallets
  • Resources
    • T Token
    • Contract Addresses
      • Mainnet
        • Threshold DAO
        • tBTC
        • thUSD
        • Legacy
      • Görli Testnet
      • Sepolia Testnet
    • tBTC Pools
    • Upgrade NU & KEEP to T
    • Contribution
    • Security
    • Brand Assets
    • Links
Powered by GitBook
On this page
  • IKeepTokenStaking
  • seize
  • getDelegationInfo
  • ownerOf
  • beneficiaryOf
  • authorizerOf
  • eligibleStake
  • INuCypherStakingEscrow
  • slashStaker
  • requestMerge
  • getAllTokens

Was this helpful?

Export as PDF
  1. App Development
  2. DAO Contracts
  3. DAO Contracts API

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

Name
Type
Description

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

Name
Type
Description

operator

address

Operator address.

Return Values

Name
Type
Description

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

Name
Type
Description

[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

Name
Type
Description

[0]

address payable

Beneficiary address.

authorizerOf

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

Gets the authorizer for the specified operator address.

Return Values

Name
Type
Description

[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

Name
Type
Description

operator

address

address of stake operator.

operatorContract

address

address of operator contract.

Return Values

Name
Type
Description

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

Name
Type
Description

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

PreviousIApplicationNextIStaking

Last updated 1 year ago

Was this helpful?