Guides/EVM/Precompiles

Staking V1

Reference for the deployed legacy StakingPrecompile.

View as Markdown
PropertyValue
Rust implementationStakingPrecompile
Solidity interfaceIStaking V1
Address0x0000000000000000000000000000000000000801
StatusDeployed

This legacy interface remains available for deployed callers. New staking functionality belongs on Staking V2.

Functions

FunctionMutability
addStake(bytes32,uint256)payable
removeStake(bytes32,uint256,uint256)nonpayable
getTotalColdkeyStake(bytes32)view
getTotalHotkeyStake(bytes32)view
addProxy(bytes32)nonpayable
removeProxy(bytes32)nonpayable
getStake(bytes32,bytes32,uint256)view

getTotalColdkeyStake charges gas incrementally for the hotkeys and stake positions actually scanned. It does not require a budget for every possible hotkey/subnet combination. A call with insufficient gas stops before an unpaid iterator step; the released selector and return units remain unchanged.

Source: staking.sol