bittensor.extrinsics.unstaking#

Functions#

__do_remove_stake_single(subtensor, wallet, ...[, ...])

Executes an unstake call to the chain using the wallet and the amount specified.

check_threshold_amount(subtensor, stake_balance)

Checks if the remaining stake balance is above the minimum required stake threshold.

unstake_extrinsic(subtensor, wallet[, hotkey_ss58, ...])

Removes stake into the wallet coldkey from the specified hotkey uid.

unstake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s)

Removes stake from each hotkey_ss58 in the list, using each amount, to a common coldkey.

Module Contents#

bittensor.extrinsics.unstaking.__do_remove_stake_single(subtensor, wallet, hotkey_ss58, amount, wait_for_inclusion=True, wait_for_finalization=False)[source]#

Executes an unstake call to the chain using the wallet and the amount specified.

Parameters:
  • wallet (bittensor.wallet) – Bittensor wallet object.

  • hotkey_ss58 (str) – Hotkey address to unstake from.

  • amount (bittensor.Balance) – Amount to unstake as Bittensor balance object.

  • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true, or returns false if the extrinsic fails to enter the block within the timeout.

  • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true, or returns false if the extrinsic fails to be finalized within the timeout.

  • prompt (bool) – If true, the call waits for confirmation from the user before proceeding.

  • subtensor (bittensor.subtensor)

Returns:

Flag is true if extrinsic was finalized or uncluded in the block. If we did not wait for finalization / inclusion, the response is true.

Return type:

success (bool)

Raises:
bittensor.extrinsics.unstaking.check_threshold_amount(subtensor, stake_balance)[source]#

Checks if the remaining stake balance is above the minimum required stake threshold.

Parameters:
  • stake_balance (Balance) – the balance to check for threshold limits.

  • subtensor (bittensor.subtensor)

Returns:

true if the unstaking is above the threshold or 0, or false if the

unstaking is below the threshold, but not 0.

Return type:

success (bool)

bittensor.extrinsics.unstaking.unstake_extrinsic(subtensor, wallet, hotkey_ss58=None, amount=None, wait_for_inclusion=True, wait_for_finalization=False, prompt=False)[source]#

Removes stake into the wallet coldkey from the specified hotkey uid.

Parameters:
  • wallet (bittensor.wallet) – Bittensor wallet object.

  • hotkey_ss58 (Optional[str]) – The ss58 address of the hotkey to unstake from. By default, the wallet hotkey is used.

  • amount (Union[Balance, float]) – Amount to stake as Bittensor balance, or float interpreted as Tao.

  • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true, or returns false if the extrinsic fails to enter the block within the timeout.

  • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true, or returns false if the extrinsic fails to be finalized within the timeout.

  • prompt (bool) – If true, the call waits for confirmation from the user before proceeding.

  • subtensor (bittensor.subtensor)

Returns:

Flag is true if extrinsic was finalized or uncluded in the block. If we did not wait for finalization / inclusion, the response is true.

Return type:

success (bool)

bittensor.extrinsics.unstaking.unstake_multiple_extrinsic(subtensor, wallet, hotkey_ss58s, amounts=None, wait_for_inclusion=True, wait_for_finalization=False, prompt=False)[source]#

Removes stake from each hotkey_ss58 in the list, using each amount, to a common coldkey.

Parameters:
  • wallet (bittensor.wallet) – The wallet with the coldkey to unstake to.

  • hotkey_ss58s (List[str]) – List of hotkeys to unstake from.

  • amounts (List[Union[Balance, float]]) – List of amounts to unstake. If None, unstake all.

  • wait_for_inclusion (bool) – If set, waits for the extrinsic to enter a block before returning true, or returns false if the extrinsic fails to enter the block within the timeout.

  • wait_for_finalization (bool) – If set, waits for the extrinsic to be finalized on the chain before returning true, or returns false if the extrinsic fails to be finalized within the timeout.

  • prompt (bool) – If true, the call waits for confirmation from the user before proceeding.

  • subtensor (bittensor.subtensor)

Returns:

Flag is true if extrinsic was finalized or included in the block. Flag is true if any wallet was unstaked. If we did not wait for finalization / inclusion, the response is true.

Return type:

success (bool)