Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions bittensor_cli/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,6 @@ def edit_help(cls, option_name: str, help_text: str):
)
rate_tolerance = typer.Option(
None,
"--slippage",
"--slippage-tolerance",
"--tolerance",
"--rate-tolerance",
help="Set the rate tolerance percentage for transactions (default: 0.05 for 5%).",
Expand Down Expand Up @@ -1257,8 +1255,6 @@ def set_config(
),
rate_tolerance: Optional[float] = typer.Option(
None,
"--slippage",
"--slippage-tolerance",
"--tolerance",
help="Set the rate tolerance percentage for transactions (e.g. 0.1 for 0.1%).",
),
Expand Down Expand Up @@ -1404,9 +1400,7 @@ def del_config(
wallet_hotkey: bool = typer.Option(False, *Options.wallet_hotkey.param_decls),
network: bool = typer.Option(False, *Options.network.param_decls),
use_cache: bool = typer.Option(False, "--cache"),
rate_tolerance: bool = typer.Option(
False, "--slippage", "--slippage-tolerance", "--tolerance"
),
rate_tolerance: bool = typer.Option(False, "--tolerance"),
safe_staking: bool = typer.Option(
False, "--safe-staking/--no-safe-staking", "--safe/--unsafe"
),
Expand Down
7 changes: 5 additions & 2 deletions bittensor_cli/src/bittensor/subtensor_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -1534,7 +1534,7 @@ async def get_stake_fee(
if destination_hotkey_ss58 is not None and destination_netuid is not None:
destination = (destination_hotkey_ss58, destination_netuid)

result = await self.query_runtime_api(
result_ = await self.query_runtime_api(
runtime_api="StakeInfoRuntimeApi",
method="get_stake_fee",
params=[
Expand All @@ -1546,8 +1546,11 @@ async def get_stake_fee(
],
block_hash=block_hash,
)
result = Balance.from_rao(result_)
if isinstance(origin_netuid, int):
result.set_unit(origin_netuid)

return Balance.from_rao(result)
return result

async def get_scheduled_coldkey_swap(
self,
Expand Down
22 changes: 13 additions & 9 deletions bittensor_cli/src/commands/stake/move.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@ async def display_stake_movement_cross_subnets(

if origin_netuid == destination_netuid:
subnet = await subtensor.subnet(origin_netuid)
received_amount_tao = subnet.alpha_to_tao(amount_to_move)
received_amount_tao -= stake_fee
received_amount_tao = subnet.alpha_to_tao(amount_to_move - stake_fee)
received_amount = subnet.tao_to_alpha(received_amount_tao)

if received_amount_tao < Balance.from_tao(0):
print_error("Not enough Alpha to pay the transaction fee.")
if received_amount < Balance.from_tao(0).set_unit(destination_netuid):
print_error(
f"Not enough Alpha to pay the transaction fee. The fee is {stake_fee}, "
f"which would set the total received to {received_amount}."
)
raise ValueError

received_amount = subnet.tao_to_alpha(received_amount_tao)
price = subnet.price.tao
price_str = (
str(float(price))
Expand All @@ -60,13 +62,15 @@ async def display_stake_movement_cross_subnets(
price_destination = dynamic_destination.price.tao
rate = price_origin / (price_destination or 1)

received_amount_tao = dynamic_origin.alpha_to_tao(amount_to_move)
received_amount_tao -= stake_fee
received_amount_tao = dynamic_origin.alpha_to_tao(amount_to_move - stake_fee)
received_amount = dynamic_destination.tao_to_alpha(received_amount_tao)
received_amount.set_unit(destination_netuid)

if received_amount < Balance.from_tao(0):
print_error("Not enough Alpha to pay the transaction fee.")
if received_amount < Balance.from_tao(0).set_unit(destination_netuid):
print_error(
f"Not enough Alpha to pay the transaction fee. The fee is {stake_fee}, "
f"which would set the total received to {received_amount}."
)
raise ValueError

price_str = (
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e_tests/test_unstaking.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ def test_unstaking(local_chain, wallet_setup):
"144",
],
)
assert "✅ Finalized" in stake_result.stdout
assert "✅ Finalized" in stake_result.stdout, stake_result.stderr

stake_list = exec_command_bob(
command="stake",
Expand Down
Loading