bittensor-cli 9.1.3__py3-none-any.whl → 9.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bittensor_cli/cli.py +22 -18
- bittensor_cli/src/__init__.py +105 -58
- bittensor_cli/src/bittensor/chain_data.py +3 -1
- bittensor_cli/src/bittensor/subtensor_interface.py +13 -5
- bittensor_cli/src/bittensor/utils.py +2 -3
- bittensor_cli/src/commands/stake/__init__.py +0 -154
- bittensor_cli/src/commands/stake/add.py +19 -23
- bittensor_cli/src/commands/stake/children_hotkeys.py +17 -14
- bittensor_cli/src/commands/stake/list.py +93 -95
- bittensor_cli/src/commands/stake/move.py +0 -3
- bittensor_cli/src/commands/stake/remove.py +38 -33
- bittensor_cli/src/commands/subnets/subnets.py +13 -14
- bittensor_cli/src/commands/sudo.py +1 -2
- bittensor_cli/src/commands/wallets.py +4 -3
- bittensor_cli/version.py +1 -1
- {bittensor_cli-9.1.3.dist-info → bittensor_cli-9.1.4.dist-info}/METADATA +2 -2
- bittensor_cli-9.1.4.dist-info/RECORD +35 -0
- bittensor_cli-9.1.3.dist-info/RECORD +0 -35
- {bittensor_cli-9.1.3.dist-info → bittensor_cli-9.1.4.dist-info}/WHEEL +0 -0
- {bittensor_cli-9.1.3.dist-info → bittensor_cli-9.1.4.dist-info}/entry_points.txt +0 -0
- {bittensor_cli-9.1.3.dist-info → bittensor_cli-9.1.4.dist-info}/top_level.txt +0 -0
@@ -43,7 +43,6 @@ async def unstake(
|
|
43
43
|
allow_partial_stake: bool,
|
44
44
|
):
|
45
45
|
"""Unstake from hotkey(s)."""
|
46
|
-
unstake_all_from_hk = False
|
47
46
|
with console.status(
|
48
47
|
f"Retrieving subnet data & identities from {subtensor.network}...",
|
49
48
|
spinner="earth",
|
@@ -145,7 +144,7 @@ async def unstake(
|
|
145
144
|
staking_address_name, staking_address_ss58, netuid = hotkey
|
146
145
|
netuids_to_process = [netuid]
|
147
146
|
else:
|
148
|
-
staking_address_name, staking_address_ss58 = hotkey
|
147
|
+
staking_address_name, staking_address_ss58, _ = hotkey
|
149
148
|
netuids_to_process = netuids
|
150
149
|
|
151
150
|
initial_amount = amount
|
@@ -179,7 +178,6 @@ async def unstake(
|
|
179
178
|
if staking_address_name
|
180
179
|
else staking_address_ss58,
|
181
180
|
staking_address_ss58,
|
182
|
-
interactive,
|
183
181
|
)
|
184
182
|
if amount_to_unstake_as_balance is None:
|
185
183
|
skip_remaining_subnets = True
|
@@ -189,8 +187,10 @@ async def unstake(
|
|
189
187
|
amount_to_unstake_as_balance.set_unit(netuid)
|
190
188
|
if amount_to_unstake_as_balance > current_stake_balance:
|
191
189
|
err_console.print(
|
192
|
-
f"[red]Not enough stake to remove[/red]:\n
|
193
|
-
f"
|
190
|
+
f"[red]Not enough stake to remove[/red]:\n"
|
191
|
+
f" Stake balance: [dark_orange]{current_stake_balance}[/dark_orange]"
|
192
|
+
f" < Unstaking amount: [dark_orange]{amount_to_unstake_as_balance}[/dark_orange]"
|
193
|
+
f" on netuid: {netuid}"
|
194
194
|
)
|
195
195
|
continue # Skip to the next subnet - useful when single amount is specified for all subnets
|
196
196
|
|
@@ -292,7 +292,6 @@ async def unstake(
|
|
292
292
|
subtensor=subtensor,
|
293
293
|
netuid=op["netuid"],
|
294
294
|
amount=op["amount_to_unstake"],
|
295
|
-
current_stake=op["current_stake_balance"],
|
296
295
|
hotkey_ss58=op["hotkey_ss58"],
|
297
296
|
price_limit=op["price_with_tolerance"],
|
298
297
|
allow_partial_stake=allow_partial_stake,
|
@@ -320,12 +319,13 @@ async def unstake_all(
|
|
320
319
|
hotkey_ss58_address: str,
|
321
320
|
unstake_all_alpha: bool = False,
|
322
321
|
all_hotkeys: bool = False,
|
323
|
-
include_hotkeys: list[str] =
|
324
|
-
exclude_hotkeys: list[str] =
|
322
|
+
include_hotkeys: Optional[list[str]] = None,
|
323
|
+
exclude_hotkeys: Optional[list[str]] = None,
|
325
324
|
prompt: bool = True,
|
326
325
|
) -> bool:
|
327
326
|
"""Unstakes all stakes from all hotkeys in all subnets."""
|
328
|
-
|
327
|
+
include_hotkeys = include_hotkeys or []
|
328
|
+
exclude_hotkeys = exclude_hotkeys or []
|
329
329
|
with console.status(
|
330
330
|
f"Retrieving stake information & identities from {subtensor.network}...",
|
331
331
|
spinner="earth",
|
@@ -356,12 +356,12 @@ async def unstake_all(
|
|
356
356
|
old_identities=old_identities,
|
357
357
|
)
|
358
358
|
elif not hotkey_ss58_address:
|
359
|
-
hotkeys = [(wallet.hotkey_str, wallet.hotkey.ss58_address)]
|
359
|
+
hotkeys = [(wallet.hotkey_str, wallet.hotkey.ss58_address, None)]
|
360
360
|
else:
|
361
|
-
hotkeys = [(None, hotkey_ss58_address)]
|
361
|
+
hotkeys = [(None, hotkey_ss58_address, None)]
|
362
362
|
|
363
|
-
hotkey_names = {ss58: name for name, ss58 in hotkeys if name is not None}
|
364
|
-
hotkey_ss58s = [
|
363
|
+
hotkey_names = {ss58: name for name, ss58, _ in hotkeys if name is not None}
|
364
|
+
hotkey_ss58s = [item[1] for item in hotkeys]
|
365
365
|
stake_info = [
|
366
366
|
stake for stake in stake_info if stake.hotkey_ss58 in hotkey_ss58s
|
367
367
|
]
|
@@ -567,7 +567,6 @@ async def _safe_unstake_extrinsic(
|
|
567
567
|
subtensor: "SubtensorInterface",
|
568
568
|
netuid: int,
|
569
569
|
amount: Balance,
|
570
|
-
current_stake: Balance,
|
571
570
|
hotkey_ss58: str,
|
572
571
|
price_limit: Balance,
|
573
572
|
allow_partial_stake: bool,
|
@@ -578,7 +577,6 @@ async def _safe_unstake_extrinsic(
|
|
578
577
|
Args:
|
579
578
|
netuid: The subnet ID
|
580
579
|
amount: Amount to unstake
|
581
|
-
current_stake: Current stake balance
|
582
580
|
hotkey_ss58: Hotkey SS58 address
|
583
581
|
price_limit: Maximum acceptable price
|
584
582
|
wallet: Wallet instance
|
@@ -724,6 +722,7 @@ async def _unstake_all_extrinsic(
|
|
724
722
|
current_balance = await subtensor.get_balance(
|
725
723
|
wallet.coldkeypub.ss58_address, block_hash=block_hash
|
726
724
|
)
|
725
|
+
previous_root_stake = None
|
727
726
|
|
728
727
|
call_function = "unstake_all_alpha" if unstake_all_alpha else "unstake_all"
|
729
728
|
call = await subtensor.substrate.compose_call(
|
@@ -768,6 +767,7 @@ async def _unstake_all_extrinsic(
|
|
768
767
|
new_balance = await subtensor.get_balance(
|
769
768
|
wallet.coldkeypub.ss58_address, block_hash=block_hash
|
770
769
|
)
|
770
|
+
new_root_stake = None
|
771
771
|
|
772
772
|
success_message = (
|
773
773
|
":white_heavy_check_mark: [green]Finalized: Successfully unstaked all stakes[/green]"
|
@@ -781,7 +781,9 @@ async def _unstake_all_extrinsic(
|
|
781
781
|
|
782
782
|
if unstake_all_alpha:
|
783
783
|
console.print(
|
784
|
-
f"Root Stake for {hotkey_name}:\n
|
784
|
+
f"Root Stake for {hotkey_name}:\n "
|
785
|
+
f"[blue]{previous_root_stake}[/blue] :arrow_right: "
|
786
|
+
f"[{COLOR_PALETTE['STAKE']['STAKE_AMOUNT']}]{new_root_stake}"
|
785
787
|
)
|
786
788
|
|
787
789
|
except Exception as e:
|
@@ -793,7 +795,7 @@ def _calculate_slippage(subnet_info, amount: Balance) -> tuple[Balance, str, flo
|
|
793
795
|
"""Calculate slippage and received amount for unstaking operation.
|
794
796
|
|
795
797
|
Args:
|
796
|
-
|
798
|
+
subnet_info: Subnet information containing price data
|
797
799
|
amount: Amount being unstaked
|
798
800
|
|
799
801
|
Returns:
|
@@ -821,7 +823,7 @@ async def _unstake_selection(
|
|
821
823
|
old_identities,
|
822
824
|
stake_infos,
|
823
825
|
netuid: Optional[int] = None,
|
824
|
-
):
|
826
|
+
) -> tuple[list[tuple[str, str, int]], bool]:
|
825
827
|
if not stake_infos:
|
826
828
|
print_error("You have no stakes to unstake.")
|
827
829
|
raise ValueError
|
@@ -899,7 +901,9 @@ async def _unstake_selection(
|
|
899
901
|
|
900
902
|
# Display hotkey's staked netuids with amount.
|
901
903
|
table = Table(
|
902
|
-
title=f"\n[{COLOR_PALETTE['GENERAL']['HEADER']}]Stakes for hotkey \n
|
904
|
+
title=f"\n[{COLOR_PALETTE['GENERAL']['HEADER']}]Stakes for hotkey \n"
|
905
|
+
f"[{COLOR_PALETTE['GENERAL']['SUBHEADING']}]{selected_hotkey_name}\n"
|
906
|
+
f"{selected_hotkey_ss58}\n",
|
903
907
|
show_footer=True,
|
904
908
|
show_edge=False,
|
905
909
|
header_style="bold white",
|
@@ -925,19 +929,20 @@ async def _unstake_selection(
|
|
925
929
|
console.print("\n", table, "\n")
|
926
930
|
|
927
931
|
# Ask which netuids to unstake from for the selected hotkey.
|
928
|
-
|
932
|
+
unstake_all_ = False
|
929
933
|
if netuid is not None:
|
930
934
|
selected_netuids = [netuid]
|
931
935
|
else:
|
932
936
|
while True:
|
933
937
|
netuid_input = Prompt.ask(
|
934
|
-
"\nEnter the netuids of the [blue]subnets to unstake[/blue] from (comma-separated), or
|
938
|
+
"\nEnter the netuids of the [blue]subnets to unstake[/blue] from (comma-separated), or "
|
939
|
+
"'[blue]all[/blue]' to unstake from all",
|
935
940
|
default="all",
|
936
941
|
)
|
937
942
|
|
938
943
|
if netuid_input.lower() == "all":
|
939
944
|
selected_netuids = list(netuid_stakes.keys())
|
940
|
-
|
945
|
+
unstake_all_ = True
|
941
946
|
break
|
942
947
|
else:
|
943
948
|
try:
|
@@ -960,7 +965,7 @@ async def _unstake_selection(
|
|
960
965
|
hotkeys_to_unstake_from.append(
|
961
966
|
(selected_hotkey_name, selected_hotkey_ss58, netuid_)
|
962
967
|
)
|
963
|
-
return hotkeys_to_unstake_from,
|
968
|
+
return hotkeys_to_unstake_from, unstake_all_
|
964
969
|
|
965
970
|
|
966
971
|
def _ask_unstake_amount(
|
@@ -968,7 +973,6 @@ def _ask_unstake_amount(
|
|
968
973
|
netuid: int,
|
969
974
|
staking_address_name: str,
|
970
975
|
staking_address_ss58: str,
|
971
|
-
interactive: bool,
|
972
976
|
) -> Optional[Balance]:
|
973
977
|
"""Prompt the user to decide the amount to unstake.
|
974
978
|
|
@@ -977,7 +981,6 @@ def _ask_unstake_amount(
|
|
977
981
|
netuid: The subnet ID
|
978
982
|
staking_address_name: Display name of the staking address
|
979
983
|
staking_address_ss58: SS58 address of the staking address
|
980
|
-
interactive: Whether in interactive mode (affects default choice)
|
981
984
|
|
982
985
|
Returns:
|
983
986
|
Balance amount to unstake, or None if user chooses to quit
|
@@ -1055,7 +1058,7 @@ def _get_hotkeys_to_unstake(
|
|
1055
1058
|
stake_infos: list,
|
1056
1059
|
identities: dict,
|
1057
1060
|
old_identities: dict,
|
1058
|
-
) -> list[tuple[Optional[str], str]]:
|
1061
|
+
) -> list[tuple[Optional[str], str, None]]:
|
1059
1062
|
"""Get list of hotkeys to unstake from based on input parameters.
|
1060
1063
|
|
1061
1064
|
Args:
|
@@ -1066,26 +1069,28 @@ def _get_hotkeys_to_unstake(
|
|
1066
1069
|
exclude_hotkeys: List of hotkey names to exclude
|
1067
1070
|
|
1068
1071
|
Returns:
|
1069
|
-
List of tuples containing (hotkey_name, hotkey_ss58) pairs to unstake from
|
1072
|
+
List of tuples containing (hotkey_name, hotkey_ss58, None) pairs to unstake from. The final None is important
|
1073
|
+
for compatibility with the `_unstake_selection` function.
|
1070
1074
|
"""
|
1071
1075
|
if hotkey_ss58_address:
|
1072
1076
|
print_verbose(f"Unstaking from ss58 ({hotkey_ss58_address})")
|
1073
|
-
return [(None, hotkey_ss58_address)]
|
1077
|
+
return [(None, hotkey_ss58_address, None)]
|
1074
1078
|
|
1075
1079
|
if all_hotkeys:
|
1076
1080
|
print_verbose("Unstaking from all hotkeys")
|
1077
1081
|
all_hotkeys_ = get_hotkey_wallets_for_wallet(wallet=wallet)
|
1078
1082
|
wallet_hotkeys = [
|
1079
|
-
(wallet.hotkey_str, wallet.hotkey.ss58_address)
|
1083
|
+
(wallet.hotkey_str, wallet.hotkey.ss58_address, None)
|
1080
1084
|
for wallet in all_hotkeys_
|
1081
1085
|
if wallet.hotkey_str not in exclude_hotkeys
|
1082
1086
|
]
|
1083
1087
|
|
1084
|
-
wallet_hotkey_addresses = {
|
1088
|
+
wallet_hotkey_addresses = {hk[1] for hk in wallet_hotkeys}
|
1085
1089
|
chain_hotkeys = [
|
1086
1090
|
(
|
1087
1091
|
get_hotkey_identity(stake_info.hotkey_ss58, identities, old_identities),
|
1088
1092
|
stake_info.hotkey_ss58,
|
1093
|
+
None,
|
1089
1094
|
)
|
1090
1095
|
for stake_info in stake_infos
|
1091
1096
|
if (
|
@@ -1100,14 +1105,14 @@ def _get_hotkeys_to_unstake(
|
|
1100
1105
|
result = []
|
1101
1106
|
for hotkey_identifier in include_hotkeys:
|
1102
1107
|
if is_valid_ss58_address(hotkey_identifier):
|
1103
|
-
result.append((None, hotkey_identifier))
|
1108
|
+
result.append((None, hotkey_identifier, None))
|
1104
1109
|
else:
|
1105
1110
|
wallet_ = Wallet(
|
1106
1111
|
name=wallet.name,
|
1107
1112
|
path=wallet.path,
|
1108
1113
|
hotkey=hotkey_identifier,
|
1109
1114
|
)
|
1110
|
-
result.append((wallet_.hotkey_str, wallet_.hotkey.ss58_address))
|
1115
|
+
result.append((wallet_.hotkey_str, wallet_.hotkey.ss58_address, None))
|
1111
1116
|
return result
|
1112
1117
|
|
1113
1118
|
# Only cli.config.wallet.hotkey is specified
|
@@ -1115,7 +1120,7 @@ def _get_hotkeys_to_unstake(
|
|
1115
1120
|
f"Unstaking from wallet: ({wallet.name}) from hotkey: ({wallet.hotkey_str})"
|
1116
1121
|
)
|
1117
1122
|
assert wallet.hotkey is not None
|
1118
|
-
return [(wallet.hotkey_str, wallet.hotkey.ss58_address)]
|
1123
|
+
return [(wallet.hotkey_str, wallet.hotkey.ss58_address, None)]
|
1119
1124
|
|
1120
1125
|
|
1121
1126
|
def _create_unstake_table(
|
@@ -111,6 +111,12 @@ async def register_subnetwork_extrinsic(
|
|
111
111
|
):
|
112
112
|
return False
|
113
113
|
|
114
|
+
call_params = {
|
115
|
+
"hotkey": wallet.hotkey.ss58_address,
|
116
|
+
"mechid": 1,
|
117
|
+
}
|
118
|
+
call_function = "register_network"
|
119
|
+
|
114
120
|
has_identity = any(subnet_identity.values())
|
115
121
|
if has_identity:
|
116
122
|
identity_data = {
|
@@ -136,6 +142,8 @@ async def register_subnetwork_extrinsic(
|
|
136
142
|
if subnet_identity.get("additional")
|
137
143
|
else b"",
|
138
144
|
}
|
145
|
+
call_params["identity"] = identity_data
|
146
|
+
call_function = "register_network_with_identity"
|
139
147
|
for field, value in identity_data.items():
|
140
148
|
max_size = 64 # bytes
|
141
149
|
if len(value) > max_size:
|
@@ -149,15 +157,6 @@ async def register_subnetwork_extrinsic(
|
|
149
157
|
return False
|
150
158
|
|
151
159
|
with console.status(":satellite: Registering subnet...", spinner="earth"):
|
152
|
-
call_params = {
|
153
|
-
"hotkey": wallet.hotkey.ss58_address,
|
154
|
-
"mechid": 1,
|
155
|
-
}
|
156
|
-
call_function = "register_network"
|
157
|
-
if has_identity:
|
158
|
-
call_params["identity"] = identity_data
|
159
|
-
call_function = "register_network_with_identity"
|
160
|
-
|
161
160
|
substrate = subtensor.substrate
|
162
161
|
# create extrinsic call
|
163
162
|
call = await substrate.compose_call(
|
@@ -1341,12 +1340,12 @@ async def burn_cost(subtensor: "SubtensorInterface") -> Optional[Balance]:
|
|
1341
1340
|
f":satellite:Retrieving lock cost from {subtensor.network}...",
|
1342
1341
|
spinner="aesthetic",
|
1343
1342
|
):
|
1344
|
-
|
1345
|
-
if
|
1343
|
+
current_burn_cost = await subtensor.burn_cost()
|
1344
|
+
if current_burn_cost:
|
1346
1345
|
console.print(
|
1347
|
-
f"Subnet burn cost: [{COLOR_PALETTE['STAKE']['STAKE_AMOUNT']}]{
|
1346
|
+
f"Subnet burn cost: [{COLOR_PALETTE['STAKE']['STAKE_AMOUNT']}]{current_burn_cost}"
|
1348
1347
|
)
|
1349
|
-
return
|
1348
|
+
return current_burn_cost
|
1350
1349
|
else:
|
1351
1350
|
err_console.print(
|
1352
1351
|
"Subnet burn cost: [red]Failed to get subnet burn cost[/red]"
|
@@ -1417,7 +1416,7 @@ async def pow_register(
|
|
1417
1416
|
use_cuda,
|
1418
1417
|
dev_id,
|
1419
1418
|
threads_per_block,
|
1420
|
-
prompt: bool
|
1419
|
+
prompt: bool,
|
1421
1420
|
):
|
1422
1421
|
"""Register neuron."""
|
1423
1422
|
|
@@ -155,7 +155,6 @@ async def set_hyperparameter_extrinsic(
|
|
155
155
|
`False` if the extrinsic fails to enter the block within the timeout.
|
156
156
|
:param wait_for_finalization: If set, waits for the extrinsic to be finalized on the chain before returning `True`,
|
157
157
|
or returns `False` if the extrinsic fails to be finalized within the timeout.
|
158
|
-
:param prompt: If `True`, the call waits for confirmation from the user before proceeding.
|
159
158
|
|
160
159
|
:return: success: `True` if extrinsic was finalized or included in the block. If we did not wait for
|
161
160
|
finalization/inclusion, the response is `True`.
|
@@ -178,6 +177,7 @@ async def set_hyperparameter_extrinsic(
|
|
178
177
|
arbitrary_extrinsic = False
|
179
178
|
|
180
179
|
extrinsic, sudo_ = HYPERPARAMS.get(parameter, ("", False))
|
180
|
+
call_params = {"netuid": netuid}
|
181
181
|
if not extrinsic:
|
182
182
|
arbitrary_extrinsic, call_params = search_metadata(
|
183
183
|
parameter, value, netuid, subtensor.substrate.metadata
|
@@ -207,7 +207,6 @@ async def set_hyperparameter_extrinsic(
|
|
207
207
|
extrinsic_params = await substrate.get_metadata_call_function(
|
208
208
|
"AdminUtils", extrinsic
|
209
209
|
)
|
210
|
-
call_params = {"netuid": netuid}
|
211
210
|
|
212
211
|
# if input value is a list, iterate through the list and assign values
|
213
212
|
if isinstance(value, list):
|
@@ -124,17 +124,18 @@ async def regen_hotkey(
|
|
124
124
|
json_str = f.read()
|
125
125
|
|
126
126
|
try:
|
127
|
-
|
127
|
+
new_hotkey_ = wallet.regenerate_hotkey(
|
128
128
|
mnemonic=mnemonic,
|
129
129
|
seed=seed,
|
130
130
|
json=(json_str, json_password) if all([json_str, json_password]) else None,
|
131
131
|
use_password=use_password,
|
132
132
|
overwrite=overwrite,
|
133
133
|
)
|
134
|
-
if isinstance(
|
134
|
+
if isinstance(new_hotkey_, Wallet):
|
135
135
|
console.print(
|
136
136
|
"\n✅ [dark_sea_green]Regenerated hotkey successfully!\n",
|
137
|
-
f"[dark_sea_green]Wallet name:
|
137
|
+
f"[dark_sea_green]Wallet name: "
|
138
|
+
f"({new_hotkey_.name}), path: ({new_hotkey_.path}), hotkey ss58: ({new_hotkey_.hotkey.ss58_address})",
|
138
139
|
)
|
139
140
|
except ValueError:
|
140
141
|
print_error("Mnemonic phrase is invalid")
|
bittensor_cli/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: bittensor-cli
|
3
|
-
Version: 9.1.
|
3
|
+
Version: 9.1.4
|
4
4
|
Summary: Bittensor CLI
|
5
5
|
Author: bittensor.com
|
6
6
|
Project-URL: homepage, https://github.com/opentensor/btcli
|
@@ -9,7 +9,7 @@ Requires-Python: <3.13,>=3.9
|
|
9
9
|
Description-Content-Type: text/markdown
|
10
10
|
Requires-Dist: wheel
|
11
11
|
Requires-Dist: async-property==0.2.2
|
12
|
-
Requires-Dist: async-substrate-interface>=1.0.
|
12
|
+
Requires-Dist: async-substrate-interface>=1.0.7
|
13
13
|
Requires-Dist: aiohttp~=3.10.2
|
14
14
|
Requires-Dist: backoff~=2.2.1
|
15
15
|
Requires-Dist: GitPython>=3.0.0
|
@@ -0,0 +1,35 @@
|
|
1
|
+
bittensor_cli/__init__.py,sha256=Lpv4NkbAQgwrfqFOnTMuR_S-fqGdaWCSLhxnFnGTHM0,1232
|
2
|
+
bittensor_cli/cli.py,sha256=HbU3AOCiAmicOLA9U-7q92NC9Cmf0p_8qjlabSscaWc,197905
|
3
|
+
bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
|
4
|
+
bittensor_cli/version.py,sha256=laVzyT8eo7SMikK5aTb16S3zsLEpmIzwpNLCcb_IU1w,623
|
5
|
+
bittensor_cli/src/__init__.py,sha256=gSRsPtIDWe5FM93ItTjLDp3ZRwS6szo44sOYyMyFlso,27679
|
6
|
+
bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
+
bittensor_cli/src/bittensor/balances.py,sha256=q5KkxF8wmUguWAFddEKstfDKTxPe5ISHpT6br8x32rc,11148
|
8
|
+
bittensor_cli/src/bittensor/chain_data.py,sha256=IPgimCD3US5xZqoIBvH4jQza4LDbfUIpFfl_Orgok1Q,41637
|
9
|
+
bittensor_cli/src/bittensor/minigraph.py,sha256=BIzmSVLfBYiRAeGD_i1LAC8Cw7zxp38a91SIFEPMqYc,10479
|
10
|
+
bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
|
11
|
+
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=mhpqRHcuQe7Wzur603fJ8KLhRNVJIvW0gxy7Jsiv4Rg,54582
|
12
|
+
bittensor_cli/src/bittensor/utils.py,sha256=6oJmqiW-ECEobs0z37Eyzu__MfvEU0DyAD_j3FCfzmI,47530
|
13
|
+
bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
+
bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=3mJZ3hw_wZEa-8I0R8WVuKjMQi4Y9EV5FjTCvbY37Iw,63780
|
15
|
+
bittensor_cli/src/bittensor/extrinsics/root.py,sha256=N9Fg4VaveRRP1ZN4EZjIWCe04FpTNBKWFqx8USKp9uQ,19062
|
16
|
+
bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=FyrRo3yk-065toN4f-1Xes23CE5tqP5KU0dBJkKofUc,8476
|
17
|
+
bittensor_cli/src/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
bittensor_cli/src/commands/sudo.py,sha256=bSS9nIWeCYf4nqqBYuoTkVDDA2Fm2Di3UG5xlUMJ6yM,31372
|
19
|
+
bittensor_cli/src/commands/view.py,sha256=2MdhWWbY9rwGqDilzs8r2ioa0l2GzrYxe8pKkavEVWs,109517
|
20
|
+
bittensor_cli/src/commands/wallets.py,sha256=AGV8JFCvRE_OOJv6NozxmyO4Cvf4y5HYXVfI_1kl70M,50736
|
21
|
+
bittensor_cli/src/commands/weights.py,sha256=uI7aACKD90JOtYt61VdKL76z7Fe_wh4WtdwMXL6ydD4,16269
|
22
|
+
bittensor_cli/src/commands/stake/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
bittensor_cli/src/commands/stake/add.py,sha256=A1pXJl6Dtl_3CWXySOQhEpGOGeinXhKiSJkskuZ13_c,24622
|
24
|
+
bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=Eg0Rq_R2DYBsjEBqqNHElJchQ6MlZePkW_oWlifXfSY,29782
|
25
|
+
bittensor_cli/src/commands/stake/list.py,sha256=G7YLP68sq-qmWKPuIy2s6cMYK7XTz0oaMDK4JWR7aBE,28577
|
26
|
+
bittensor_cli/src/commands/stake/move.py,sha256=G2jhp-i-shUIMC6hyh2hGzLeCBj1tQ41Y7-b8806vu4,34480
|
27
|
+
bittensor_cli/src/commands/stake/remove.py,sha256=SlGHLU1yBaabaimb74wADO5LSUfDAbWt3hcm4xEFtO0,47115
|
28
|
+
bittensor_cli/src/commands/subnets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
|
+
bittensor_cli/src/commands/subnets/price.py,sha256=TWcRXUFeS_Q-pfyv0YIluAL8SE7d2gzTODK-9M2J5pw,29878
|
30
|
+
bittensor_cli/src/commands/subnets/subnets.py,sha256=d41oWtxOfr4a2QxW3v_P2weELtUOr1vRx4Vi0HzN87s,83935
|
31
|
+
bittensor_cli-9.1.4.dist-info/METADATA,sha256=Dy0kwDN8xFRqB8Ndw74NYopMMNC17XronTGbOwIi53Y,6145
|
32
|
+
bittensor_cli-9.1.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
33
|
+
bittensor_cli-9.1.4.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
34
|
+
bittensor_cli-9.1.4.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
35
|
+
bittensor_cli-9.1.4.dist-info/RECORD,,
|
@@ -1,35 +0,0 @@
|
|
1
|
-
bittensor_cli/__init__.py,sha256=Lpv4NkbAQgwrfqFOnTMuR_S-fqGdaWCSLhxnFnGTHM0,1232
|
2
|
-
bittensor_cli/cli.py,sha256=b74SuigzFMoGItVfdkpWoIOktTBLx1ALc-oHb7nprvs,198453
|
3
|
-
bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
|
4
|
-
bittensor_cli/version.py,sha256=rEVJnYbpsCLoerFYGs5hlQWusewL7n5JfAa3G1B_BeQ,623
|
5
|
-
bittensor_cli/src/__init__.py,sha256=9JLmK4Z-auboWXX74sMkJiFSvcjw3jcRUUw5lRRABy8,26553
|
6
|
-
bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
bittensor_cli/src/bittensor/balances.py,sha256=q5KkxF8wmUguWAFddEKstfDKTxPe5ISHpT6br8x32rc,11148
|
8
|
-
bittensor_cli/src/bittensor/chain_data.py,sha256=hG61nRpp_4A1NkmEQcbmL89Z1UqL1IF1F9om896Pp-g,41616
|
9
|
-
bittensor_cli/src/bittensor/minigraph.py,sha256=BIzmSVLfBYiRAeGD_i1LAC8Cw7zxp38a91SIFEPMqYc,10479
|
10
|
-
bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
|
11
|
-
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=tOhQEkjO03J7YJNYdUOmmH333SR5wNybmgYNZ7aoygk,54507
|
12
|
-
bittensor_cli/src/bittensor/utils.py,sha256=z3KsDpOVgL1O16aXYJWDspaK1UFgei-eXxX2biZZ98s,47539
|
13
|
-
bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
-
bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=3mJZ3hw_wZEa-8I0R8WVuKjMQi4Y9EV5FjTCvbY37Iw,63780
|
15
|
-
bittensor_cli/src/bittensor/extrinsics/root.py,sha256=N9Fg4VaveRRP1ZN4EZjIWCe04FpTNBKWFqx8USKp9uQ,19062
|
16
|
-
bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=FyrRo3yk-065toN4f-1Xes23CE5tqP5KU0dBJkKofUc,8476
|
17
|
-
bittensor_cli/src/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
-
bittensor_cli/src/commands/sudo.py,sha256=GICsjDYvaoJpq5zAUHb3gIcXvD0t1VNOkz8hghz_AUs,31475
|
19
|
-
bittensor_cli/src/commands/view.py,sha256=2MdhWWbY9rwGqDilzs8r2ioa0l2GzrYxe8pKkavEVWs,109517
|
20
|
-
bittensor_cli/src/commands/wallets.py,sha256=DuG3LQx75NRsi-f0-8Y-FriOSqj57nViNf1xryHHFV0,50711
|
21
|
-
bittensor_cli/src/commands/weights.py,sha256=uI7aACKD90JOtYt61VdKL76z7Fe_wh4WtdwMXL6ydD4,16269
|
22
|
-
bittensor_cli/src/commands/stake/__init__.py,sha256=uxomMv_QrYt5Qn3_X5UWFFh45ISjB0JmDmCFxVyX8nQ,6495
|
23
|
-
bittensor_cli/src/commands/stake/add.py,sha256=aVdBEdrfJ5-IK9MpQ00lYQylw_e6BgimCsxMFJZe75E,24911
|
24
|
-
bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=udpomkjeNb8MTEFm2p2BxHG1RSunOUamHSdWpQWvvXY,29631
|
25
|
-
bittensor_cli/src/commands/stake/list.py,sha256=TfoFrXsYRTQeTiDd6pHu-f6rZ2ev0VK9fMybQ295X7Q,28600
|
26
|
-
bittensor_cli/src/commands/stake/move.py,sha256=RSFtMgpBlK82U9CtCcijeZWBOABABnaPzyIgC2ug_Tc,34635
|
27
|
-
bittensor_cli/src/commands/stake/remove.py,sha256=iEVV79RmhA2mCL2UGydc98pcCNTO6dpP7gJeq6OfbG0,46884
|
28
|
-
bittensor_cli/src/commands/subnets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
|
-
bittensor_cli/src/commands/subnets/price.py,sha256=TWcRXUFeS_Q-pfyv0YIluAL8SE7d2gzTODK-9M2J5pw,29878
|
30
|
-
bittensor_cli/src/commands/subnets/subnets.py,sha256=e2QeuaAQZg0S-uHvDUejy82wJPe1_njb9_qeoLcrKf0,83955
|
31
|
-
bittensor_cli-9.1.3.dist-info/METADATA,sha256=Z7pEVMLdBIfcdSPMijRgi1SsA1zIXKcaJ6KB526tzsw,6145
|
32
|
-
bittensor_cli-9.1.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
33
|
-
bittensor_cli-9.1.3.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
34
|
-
bittensor_cli-9.1.3.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
35
|
-
bittensor_cli-9.1.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|