Loading
Loading
0x0000000000000000000000000000000000000805
Current staking interface: dispatches SubtensorModule staking calls from the caller's mapped coldkey (add/remove/move/swap/transfer stake and their limit variants, unstake-all, childkey take, collateral, locks, root claims) and Proxy add/remove; plus reads of stake, delegation, child keys, locks and coldkey-swap state. A few AdminUtils setters apply the calls' own origin checks.
Written from precompiles/src/staking.rs (github.com, opens in a new tab, external site) at c004cebf3 (runtime 471) · INDEX 2053
82 in total, 81 live, 40 documented. Retired functions stay listed so older calls still decode.
| Signature | Selector | Mutability | Runtime |
|---|---|---|---|
addCollateral(uint16,bytes32,uint64,uint64) | Selector 0xf54babed | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
addProxy(bytes32) | Selector 0xc10d08eb | Mutability payable | Since runtime 252 |
Delegates staking to a proxy account. Parameters
| |||
addStake(bytes32,uint256,uint256) | Selector 0x1fc9b141 | Mutability payable | Since runtime 252 |
Adds a subtensor stake `amount` associated with the `hotkey`. This function allows external accounts and contracts to stake TAO into the subtensor pallet, which effectively calls `add_stake` on the subtensor pallet with specified hotkey as a parameter and coldkey being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `hotkey` must be a valid hotkey registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
addStakeBurn(bytes32,uint16,uint64,bool,uint64) | Selector 0x4e06ae4c | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
addStakeLimit(bytes32,uint256,uint256,bool,uint256) | Selector 0x5beb6b74 | Mutability payable | Since runtime 283 |
Adds a subtensor stake `amount` associated with the `hotkey` within a price limit. This function allows external accounts and contracts to stake TAO into the subtensor pallet, which effectively calls `add_stake_limit` on the subtensor pallet with specified hotkey as a parameter and coldkey being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `hotkey` must be a valid hotkey registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
allowance(address,address,uint256) | Selector 0x598af9e7 | Mutability view | Since runtime 397 |
Get how much the source allows the spender to use their subnet tokens Parameters
Returns
| |||
approve(address,uint256,uint256) | Selector 0x426a8493 | Mutability nonpayable | Since runtime 397 |
Set how much the caller approves the spender to use the provided amount of subnet tokens on its behalf in a later call. This is similar to ERC20 approve, and then allows smart contract to transfer with permission from other accounts during their execution. They can then act as escrows while knowing from whom the funds comes from, which is not possible if the spender called `transfer` towards the contract (no callback). Parameters
| |||
burnAlpha(bytes32,uint256,uint256) | Selector 0x5201f1e6 | Mutability payable | Since runtime 334 |
Burns alpha tokens from the specified hotkey's stake on a subnet. This function allows external accounts and contracts to permanently burn (destroy) alpha tokens from their stake on a specified hotkey and subnet. The burned tokens are removed from circulation and cannot be recovered. Requirements: - `hotkey` must be a valid hotkey registered on the network. - The caller must have sufficient alpha staked to the specified hotkey on the subnet. - `amount` must be greater than zero and not exceed the staked amount. Parameters
| |||
claimRoot(uint16[]) | Selector 0x4ed9ee58 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
claimRootWithHotkey(bytes32) | Selector 0xc500a3fa | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
decreaseAllowance(address,uint256,uint256) | Selector 0xcdde3d6b | Mutability nonpayable | Since runtime 397 |
Decrease how much the caller approves the spender to use the provided amount of subnet tokens on its behalf in a later call. This is similar to ERC20 decreaseAllowance, and then allows smart contract to transfer with permission from other accounts during their execution. They can then act as escrows while knowing from whom the funds comes from, which is not possible if the spender called `transfer` towards the contract (no callback). Parameters
| |||
decreaseTake(bytes32,uint16) | Selector 0xf9e65f8d | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
getAlphaStakedValidators(bytes32,uint256) | Selector 0x7eef8be3 | Mutability view | Since runtime 261 |
Returns the validators that have staked alpha under a hotkey. This function retrieves the validators that have staked alpha under a specific hotkey. It is a view function, meaning it does not modify the state of the contract and is free to call. Parameters
Returns
| |||
getAutoStakeDestination(bytes32,uint16) | Selector 0xbf2f0a1e | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getAutoStakeDestinationColdkeys(bytes32,uint16) | Selector 0x34ed31da | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getChildKeys(bytes32,uint16) | Selector 0x05cfaefd | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getChildkeyTake(bytes32,uint16) | Selector 0x8cb4cd46 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getColdkeyCollateral(uint16,bytes32) | Selector 0x021f6c50 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getColdkeyLock(bytes32,uint256) | Selector 0xd2f3e672 | Mutability view | Since runtime 439 |
Returns a coldkey's lock rolled forward to the current block. `conviction` is exact unsigned Q64.64 bits. Divide it by 2^64 to obtain conviction in alpha rao. `exists` is false once the rolled lock crosses the runtime cleanup threshold, even if its stale storage row remains. Parameters
Returns
| |||
getColdkeyRoot(bytes32) | Selector 0x64e97c2d | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getColdkeySuccessor(bytes32) | Selector 0xd51ef3ea | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getColdkeySwapDelays() | Selector 0x4f327fd0 | Mutability view | Since runtime 444 |
No documentation in the source. Returns
| |||
getColdkeySwapStatus(bytes32) | Selector 0x6a4ef256 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getCollateralConfig(uint16) | Selector 0x5741d44e | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getDefaultMinStake() | Selector 0x10fd0907 | Mutability view | Since runtime 438 |
Returns DefaultMinStake. This is a base value only; operation fees, price conversion, and full-unstake rules can change the accepted amount. Returns
| |||
getDelegate(bytes32) | Selector 0x590e588a | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getHotkeyConvictions(uint256,bytes32[]) | Selector 0x82599abe | Mutability view | Since runtime 439 |
Returns exact rolled Q64.64 conviction for distinct candidate hotkeys. Results align with `hotkeys`. The list is capped at 64 to keep gas and storage work bounded; larger metagraphs can be queried in batches. Parameters
Returns
| |||
getHotkeyLock(bytes32,uint256) | Selector 0xc66647f0 | Mutability view | Since runtime 439 |
Returns rolled aggregate lock state targeting a hotkey. Perpetual and decaying buckets are combined. For the subnet owner hotkey, the owner-specific buckets are included as well. `exists` is derived from the rolled aggregate, so fully expired stale buckets do not count. Parameters
Returns
| |||
getHotkeyOwner(bytes32) | Selector 0xad6b780c | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getHotkeyRoot(bytes32,uint16) | Selector 0xbc9a6413 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getHotkeySuccessor(bytes32,uint16) | Selector 0x4c373d9a | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getLastHotkeySwapOnSubnet(bytes32,uint16) | Selector 0x868b7cca | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getLockRates() | Selector 0xa1a3f610 | Mutability view | Since runtime 439 |
Returns `(unlockRate, maturityRate)` in blocks. Returns
| |||
getMinChildkeyTakePerSubnet(uint16) | Selector 0x114abce2 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getMinerCollateral(uint16,bytes32,bytes32) | Selector 0x4d4955f4 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getNominatorMinRequiredStake() | Selector 0x37f26118 | Mutability view | Since runtime 297 |
Returns the minimum required stake for a nominator. This function retrieves the minimum required stake for a nominator. It is a view function, meaning it does not modify the state of the contract and is free to call. Returns
| |||
getOwnedHotkeys(bytes32) | Selector 0x12ba4164 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getParentKeys(bytes32,uint16) | Selector 0x74641cb2 | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getPendingChildKeyCooldown() | Selector 0xdbfc42b7 | Mutability view | Since runtime 444 |
No documentation in the source. Returns
| |||
getPendingChildKeys(bytes32,uint16) | Selector 0x6221d4bc | Mutability view | Since runtime 444 |
No documentation in the source. Parameters
Returns
| |||
getRejectLockedAlpha(bytes32) | Selector 0x572a1934 | Mutability view | Since runtime 439 |
Returns whether a coldkey rejects incoming locked alpha. Parameters
Returns
| |||
getStake(bytes32,bytes32,uint256) | Selector 0xe3b598fa | Mutability view | Since runtime 252 |
Returns the stake amount associated with the specified `hotkey` and `coldkey`. This function retrieves the current stake amount linked to a specific hotkey and coldkey pair. It is a view function, meaning it does not modify the state of the contract and is free to call. Parameters
Returns
| |||
getStakeAccounting() | Selector 0x4e5f188a | Mutability view | Since runtime 444 |
No documentation in the source. Returns
| |||
getStakeInfoForColdkeyAndNetuid(bytes32,uint256,bytes32[]) | Selector 0xfff64d31 | Mutability view | Since runtime 438 |
Returns non-zero alpha stake positions for up to 64 caller-supplied distinct hotkeys. Duplicate hotkeys revert. Callers that need more must split their hotkeys across calls. This function does not read the coldkey's unbounded historical hotkey index. Parameters
Returns
| |||
getStakingHotkeys(bytes32,uint64,uint16) | Selector 0x59415020 | Mutability view | Since runtime 448 |
Returns at most 64 staking hotkeys beginning at `offset`. Each call reads the existing staking-hotkey vector and slices it in stored order. `total` is the vector length; an offset greater than or equal to `total` returns an empty page. Parameters
Returns
| |||
getTakeLimits() | Selector 0x04a7706b | Mutability view | Since runtime 444 |
No documentation in the source. Returns
| |||
getTotalAlphaStaked(bytes32,uint256) | Selector 0x466d0171 | Mutability view | Since runtime 261 |
Returns the total amount of alpha staked under a hotkey. This function retrieves the total amount of alpha staked under a specific hotkey. It is a view function, meaning it does not modify the state of the contract and is free to call. Parameters
Returns
| |||
getTotalColdkeyStake(bytes32) | Selector 0x998538c4 | Mutability view | Since runtime 252 |
Returns the amount of RAO staked by the coldkey. This function allows external accounts and contracts to query the amount of RAO staked by the coldkey which effectively calls `get_total_coldkey_stake` on the subtensor pallet with specified coldkey as a parameter. Parameters
Returns
| |||
getTotalColdkeyStakeOnSubnet(bytes32,uint256) | Selector 0x2b6589a3 | Mutability view | Since runtime 444 |
Returns the coldkey's total alpha stake on one subnet. Parameters
Returns
| |||
getTotalHotkeyStake(bytes32) | Selector 0x9f246f6f | Mutability view | Since runtime 252 |
Returns the total amount of stake under a hotkey (delegative or otherwise) This function allows external accounts and contracts to query the total amount of RAO staked under a hotkey which effectively calls `get_total_hotkey_stake` on the subtensor pallet with specified hotkey as a parameter. Parameters
Returns
| |||
getUnclaimedRootTaoByHotkey(bytes32,bytes32) | Selector 0xe9c5c7af | Mutability view | Since runtime 444 |
Realizable TAO owed by one validator basket, in 18-decimal EVM units. Parameters
Returns
| |||
getUnclaimedRootTaoBySubnet(bytes32,uint16,bytes32[]) | Selector 0xafd7f22d | Mutability view | Since runtime 444 |
A bounded subtotal for a coldkey's owed value on a subnet. Parameters
Returns
| |||
increaseAllowance(address,uint256,uint256) | Selector 0xff61011a | Mutability nonpayable | Since runtime 397 |
Increase how much the caller approves the spender to use the provided amount of subnet tokens on its behalf in a later call. This is similar to ERC20 increaseAllowance, and then allows smart contract to transfer with permission from other accounts during their execution. They can then act as escrows while knowing from whom the funds comes from, which is not possible if the spender called `transfer` towards the contract (no callback). Parameters
| |||
increaseTake(bytes32,uint16) | Selector 0xa25424ce | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
lockStake(bytes32,uint256,uint256) | Selector 0x36f57ac2 | Mutability payable | Since runtime 439 |
Locks existing alpha stake on a subnet and builds conviction for a hotkey. The lock is a subnet-wide unstaking floor for the caller. It does not move stake and may target a different hotkey from the staked positions. Repeated calls top up the same lock; use `moveLock` to change its target. Parameters
| |||
moveLock(bytes32,uint256) | Selector 0x496aff66 | Mutability payable | Since runtime 439 |
Moves the caller's existing subnet lock to another hotkey. Current decayed mass is preserved. Conviction is preserved when the source and destination hotkeys share an owner; otherwise it resets. Parameters
| |||
moveStake(bytes32,bytes32,uint256,uint256,uint256) | Selector 0x1149f659 | Mutability payable | Since runtime 261 |
Moves a subtensor stake `amount` associated with the `hotkey` to a different hotkey `destination_hotkey`. This function allows external accounts and contracts to move staked TAO from one hotkey to another, which effectively calls `move_stake` on the subtensor pallet with specified origin and destination hotkeys as parameters being the hashed address mappings of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `origin_hotkey` and `destination_hotkey` must be valid hotkeys registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
moveStakeLimit(bytes32,bytes32,uint16,uint16,uint64,uint64,bool) | Selector 0x2ef9886e | Mutability nonpayable | Since runtime 448 |
Moves alpha between hotkeys and subnets subject to a relative price limit. Parameters
| |||
recycleAlpha(bytes32,uint64,uint16) | Selector 0x5deefbc0 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
removeProxy(bytes32) | Selector 0x65ed5bb5 | Mutability payable | Since runtime 252 |
Removes staking proxy account. Parameters
| |||
removeStake(bytes32,uint256,uint256) | Selector 0x7d691e30 | Mutability payable | Since runtime 252 |
Removes a subtensor stake `amount` from the specified `hotkey`. This function allows external accounts and contracts to unstake TAO from the subtensor pallet, which effectively calls `remove_stake` on the subtensor pallet with specified hotkey as a parameter and coldkey being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `hotkey` must be a valid hotkey registered on the network, ensuring that the stake is correctly attributed. - The existing stake amount must be not lower than specified amount Parameters
| |||
removeStakeFull(bytes32,uint256) | Selector 0xd4626bb9 | Mutability payable | Since runtime 283 |
Removes all stake from a hotkey on a subnet with a price limit. This function allows external accounts and contracts to remove all stake from a specified hotkey on a subnet, with an optional limit price for alpha token at which or better (higher) the staking should execute. Without a limit price, it removes all the stake similar to `removeStake` function. Parameters
| |||
removeStakeFullLimit(bytes32,uint256,uint256) | Selector 0xa3553cf8 | Mutability payable | Since runtime 283 |
Removes all stake from a hotkey on a subnet with a price limit. This function allows external accounts and contracts to remove all stake from a specified hotkey on a subnet, with an optional limit price for alpha token at which or better (higher) the staking should execute. Without a limit price, it removes all the stake similar to `removeStake` function. Parameters
| |||
removeStakeLimit(bytes32,uint256,uint256,bool,uint256) | Selector 0x176848b2 | Mutability payable | Since runtime 283 |
Removes a subtensor stake `amount` from the specified `hotkey` within a price limit. This function allows external accounts and contracts to unstake TAO from the subtensor pallet, which effectively calls `remove_stake_limit` on the subtensor pallet with specified hotkey as a parameter and coldkey being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `hotkey` must be a valid hotkey registered on the network, ensuring that the stake is correctly attributed. - The existing stake amount must be not lower than specified amount Parameters
| |||
setAutoParentDelegationEnabled(bytes32,bool) | Selector 0xa7902367 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setChildkeyTake(bytes32,uint16,uint16) | Selector 0x02773e59 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setColdkeyAutoStakeHotkey(uint16,bytes32) | Selector 0xc6b2ced4 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setCollateralDrainRatio(uint16,uint128) | Selector 0xe6ddb07a | Mutability nonpayable | Since runtime 444 |
Raw U64F64 bits. Parameters
| |||
setCollateralLockShare(uint16,uint16) | Selector 0x7a58c507 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setMinChildkeyTakePerSubnet(uint16,uint16) | Selector 0xc4403255 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setMinCollateral(uint16,bytes32,uint64) | Selector 0x7222b1f4 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
setPerpetualLock(uint256,bool) | Selector 0xd4f12f2c | Mutability payable | Since runtime 439 |
Selects perpetual or decaying behavior for the caller's subnet lock. There is no direct unlock operation. Disabling perpetual mode lets the locked mass decay according to the runtime unlock rate. Parameters
| |||
setRejectLockedAlpha(bool) | Selector 0xfdd609c2 | Mutability payable | Since runtime 439 |
Sets whether the caller rejects incoming alpha that carries a lock. Rejection is enabled by default. Pass false to opt into receiving locked alpha through compatible stake transfers or coldkey swaps. Parameters
| |||
setRootClaimThreshold(uint16,uint64) | Selector 0xde395254 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
swapStake(bytes32,uint16,uint16,uint64) | Selector 0xadfa10fe | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
swapStakeLimit(bytes32,uint16,uint16,uint64,uint64,bool) | Selector 0x70b3c1bb | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
transferStake(bytes32,bytes32,uint256,uint256,uint256) | Selector 0x17ce5f62 | Mutability payable | Since runtime 261 |
Transfer a subtensor stake `amount` associated with the transaction signer to a different coldkey `destination_coldkey`. This function allows external accounts and contracts to transfer staked TAO to another coldkey, which effectively calls `transfer_stake` on the subtensor pallet with specified destination coldkey as a parameter being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `origin_hotkey` and `destination_hotkey` must be valid hotkeys registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
transferStakeAndHotkey(bytes32,bytes32,bytes32,uint16,uint16,uint64) | Selector 0x3ba866b7 | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
transferStakeFrom(address,address,bytes32,uint256,uint256,uint256) | Selector 0x5a010c6f | Mutability nonpayable | Since runtime 401 |
Transfer a subtensor stake `amount` associated with the `sourceAddress` to a different destination address. The `sourceAddress` must have approved beforehand the transaction signer (spender) to spend at least the `amount` (allowance). The allowance towards that spender will be decreased by this amount. This function allows external accounts and contracts to transfer staked TAO to another EVM address, which effectively calls `transfer_stake` on the subtensor pallet. Both the source and destination EVM addresses are converted to their Substrate ss58 representation using Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `origin_hotkey` and `destination_hotkey` must be valid hotkeys registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
unstakeAll(bytes32) | Selector 0x8e33a39f | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
unstakeAllAlpha(bytes32) | Selector 0xa874d59b | Mutability nonpayable | Since runtime 444 |
No documentation in the source. Parameters
| |||
transferStakeFrom(address,bytes32,bytes32,uint256,uint256,uint256)Retired | Selector 0x37a0ed00 | Mutability — | Runtime 397 only |
Transfer a subtensor stake `amount` associated with the `source_address` to a different coldkey `destination_coldkey`. The `source_address` must have approved beforehand the transaction signer (spender) to spend at least the `amount` (allowance). The allowance towards that spender will be decreased by this amount. This function allows external accounts and contracts to transfer staked TAO to another coldkey, which effectively calls `transfer_stake` on the subtensor pallet with specified destination coldkey as a parameter being the hashed address mapping of H160 sender address to Substrate ss58 address as implemented in Frontier HashedAddressMapping: https://github.com/polkadot-evm/frontier/blob/2e219e17a526125da003e64ef22ec037917083fa/frame/evm/src/lib.rs#L739 Requirements: - `origin_hotkey` and `destination_hotkey` must be valid hotkeys registered on the network, ensuring that the stake is correctly attributed. Parameters
| |||
Data: precompile-abis/v471-summaries, subtensor c004cebf3 (github.com, opens in a new tab, external site) (runtime 471). Runtime ranges are the spec versions on subtensor’s main branch when an entry first and last appeared, not the block it went live on chain.