bittensor-cli 8.4.0__py3-none-any.whl → 8.4.1__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/__init__.py +1 -1
- bittensor_cli/cli.py +9 -9
- bittensor_cli/src/__init__.py +30 -26
- bittensor_cli/src/bittensor/extrinsics/registration.py +2 -5
- bittensor_cli/src/bittensor/extrinsics/root.py +2 -2
- bittensor_cli/src/bittensor/extrinsics/transfer.py +2 -2
- bittensor_cli/src/bittensor/subtensor_interface.py +3 -5
- bittensor_cli/src/bittensor/utils.py +4 -21
- bittensor_cli/src/commands/root.py +11 -11
- bittensor_cli/src/commands/stake/children_hotkeys.py +2 -4
- bittensor_cli/src/commands/subnets.py +1 -1
- bittensor_cli/src/commands/sudo.py +8 -2
- bittensor_cli/src/commands/weights.py +5 -11
- {bittensor_cli-8.4.0.dist-info → bittensor_cli-8.4.1.dist-info}/METADATA +2 -2
- bittensor_cli-8.4.1.dist-info/RECORD +31 -0
- bittensor_cli-8.4.0.dist-info/RECORD +0 -31
- {bittensor_cli-8.4.0.dist-info → bittensor_cli-8.4.1.dist-info}/WHEEL +0 -0
- {bittensor_cli-8.4.0.dist-info → bittensor_cli-8.4.1.dist-info}/entry_points.txt +0 -0
- {bittensor_cli-8.4.0.dist-info → bittensor_cli-8.4.1.dist-info}/top_level.txt +0 -0
bittensor_cli/__init__.py
CHANGED
bittensor_cli/cli.py
CHANGED
@@ -58,7 +58,7 @@ except ImportError:
|
|
58
58
|
pass
|
59
59
|
|
60
60
|
|
61
|
-
__version__ = "8.4.
|
61
|
+
__version__ = "8.4.1"
|
62
62
|
|
63
63
|
|
64
64
|
_core_version = re.match(r"^\d+\.\d+\.\d+", __version__).group(0)
|
@@ -3659,7 +3659,7 @@ class CLIManager:
|
|
3659
3659
|
prompt: bool = Options.prompt,
|
3660
3660
|
):
|
3661
3661
|
"""
|
3662
|
-
Set child hotkeys on specified
|
3662
|
+
Set child hotkeys on a specified subnet (or all). Overrides currently set children.
|
3663
3663
|
|
3664
3664
|
Users can specify the 'proportion' to delegate to child hotkeys (ss58 address). The sum of proportions cannot be greater than 1.
|
3665
3665
|
|
@@ -3744,7 +3744,7 @@ class CLIManager:
|
|
3744
3744
|
prompt: bool = Options.prompt,
|
3745
3745
|
):
|
3746
3746
|
"""
|
3747
|
-
Remove all children hotkeys on a specified subnet.
|
3747
|
+
Remove all children hotkeys on a specified subnet (or all).
|
3748
3748
|
|
3749
3749
|
This command is used to remove delegated authority from all child hotkeys, removing their position and influence on the subnet.
|
3750
3750
|
|
@@ -3884,12 +3884,12 @@ class CLIManager:
|
|
3884
3884
|
"""
|
3885
3885
|
self.verbosity_handler(quiet, verbose)
|
3886
3886
|
|
3887
|
-
|
3888
|
-
|
3889
|
-
|
3890
|
-
|
3891
|
-
|
3892
|
-
|
3887
|
+
if not param_name or not param_value:
|
3888
|
+
hyperparams = self._run_command(
|
3889
|
+
sudo.get_hyperparameters(self.initialize_chain(network), netuid)
|
3890
|
+
)
|
3891
|
+
if not hyperparams:
|
3892
|
+
raise typer.Exit()
|
3893
3893
|
|
3894
3894
|
if not param_name:
|
3895
3895
|
hyperparam_list = [field.name for field in fields(SubnetHyperparameters)]
|
bittensor_cli/src/__init__.py
CHANGED
@@ -318,32 +318,36 @@ NETWORK_EXPLORER_MAP = {
|
|
318
318
|
|
319
319
|
|
320
320
|
HYPERPARAMS = {
|
321
|
-
|
322
|
-
"
|
323
|
-
"
|
324
|
-
"
|
325
|
-
"
|
326
|
-
"
|
327
|
-
"
|
328
|
-
"
|
329
|
-
"
|
330
|
-
"
|
331
|
-
"
|
332
|
-
"
|
333
|
-
"
|
334
|
-
"
|
335
|
-
"
|
336
|
-
"
|
337
|
-
"
|
338
|
-
"
|
339
|
-
"
|
340
|
-
"
|
341
|
-
"
|
342
|
-
"
|
343
|
-
"
|
344
|
-
|
345
|
-
|
346
|
-
|
321
|
+
# btcli name: (subtensor method, sudo bool)
|
322
|
+
"rho": ("sudo_set_rho", False),
|
323
|
+
"kappa": ("sudo_set_kappa", False),
|
324
|
+
"immunity_period": ("sudo_set_immunity_period", False),
|
325
|
+
"min_allowed_weights": ("sudo_set_min_allowed_weights", False),
|
326
|
+
"max_weights_limit": ("sudo_set_max_weight_limit", False),
|
327
|
+
"tempo": ("sudo_set_tempo", True),
|
328
|
+
"min_difficulty": ("sudo_set_min_difficulty", False),
|
329
|
+
"max_difficulty": ("sudo_set_max_difficulty", False),
|
330
|
+
"weights_version": ("sudo_set_weights_version_key", False),
|
331
|
+
"weights_rate_limit": ("sudo_set_weights_set_rate_limit", False),
|
332
|
+
"adjustment_interval": ("sudo_set_adjustment_interval", True),
|
333
|
+
"activity_cutoff": ("sudo_set_activity_cutoff", False),
|
334
|
+
"target_regs_per_interval": ("sudo_set_target_registrations_per_interval", True),
|
335
|
+
"min_burn": ("sudo_set_min_burn", False),
|
336
|
+
"max_burn": ("sudo_set_max_burn", False),
|
337
|
+
"bonds_moving_avg": ("sudo_set_bonds_moving_average", False),
|
338
|
+
"max_regs_per_block": ("sudo_set_max_registrations_per_block", True),
|
339
|
+
"serving_rate_limit": ("sudo_set_serving_rate_limit", False),
|
340
|
+
"max_validators": ("sudo_set_max_allowed_validators", True),
|
341
|
+
"adjustment_alpha": ("sudo_set_adjustment_alpha", False),
|
342
|
+
"difficulty": ("sudo_set_difficulty", False),
|
343
|
+
"commit_reveal_weights_interval": (
|
344
|
+
"sudo_set_commit_reveal_weights_interval",
|
345
|
+
False,
|
346
|
+
),
|
347
|
+
"commit_reveal_weights_enabled": ("sudo_set_commit_reveal_weights_enabled", False),
|
348
|
+
"alpha_values": ("sudo_set_alpha_values", False),
|
349
|
+
"liquid_alpha_enabled": ("sudo_set_liquid_alpha_enabled", False),
|
350
|
+
"registration_allowed": ("sudo_set_network_registration_allowed", False),
|
347
351
|
}
|
348
352
|
|
349
353
|
# Help Panels for cli help
|
@@ -618,10 +618,7 @@ async def register_extrinsic(
|
|
618
618
|
if not success:
|
619
619
|
success, err_msg = (
|
620
620
|
False,
|
621
|
-
format_error_message(
|
622
|
-
await response.error_message,
|
623
|
-
substrate=subtensor.substrate,
|
624
|
-
),
|
621
|
+
format_error_message(await response.error_message),
|
625
622
|
)
|
626
623
|
# Look error here
|
627
624
|
# https://github.com/opentensor/subtensor/blob/development/pallets/subtensor/src/errors.rs
|
@@ -795,7 +792,7 @@ async def run_faucet_extrinsic(
|
|
795
792
|
if not await response.is_success:
|
796
793
|
err_console.print(
|
797
794
|
f":cross_mark: [red]Failed[/red]: "
|
798
|
-
f"{format_error_message(await response.error_message
|
795
|
+
f"{format_error_message(await response.error_message)}"
|
799
796
|
)
|
800
797
|
if attempts == max_allowed_attempts:
|
801
798
|
raise MaxAttemptsException
|
@@ -486,11 +486,11 @@ async def set_root_weights_extrinsic(
|
|
486
486
|
console.print(":white_heavy_check_mark: [green]Finalized[/green]")
|
487
487
|
return True
|
488
488
|
else:
|
489
|
-
fmt_err = format_error_message(error_message
|
489
|
+
fmt_err = format_error_message(error_message)
|
490
490
|
err_console.print(f":cross_mark: [red]Failed[/red]: {fmt_err}")
|
491
491
|
return False
|
492
492
|
|
493
493
|
except SubstrateRequestException as e:
|
494
|
-
fmt_err = format_error_message(e
|
494
|
+
fmt_err = format_error_message(e)
|
495
495
|
err_console.print(":cross_mark: [red]Failed[/red]: error:{}".format(fmt_err))
|
496
496
|
return False
|
@@ -67,7 +67,7 @@ async def transfer_extrinsic(
|
|
67
67
|
payment_info = {"partialFee": int(2e7)} # assume 0.02 Tao
|
68
68
|
err_console.print(
|
69
69
|
f":cross_mark: [red]Failed to get payment info[/red]:[bold white]\n"
|
70
|
-
f" {format_error_message(e
|
70
|
+
f" {format_error_message(e)}[/bold white]\n"
|
71
71
|
f" Defaulting to default transfer fee: {payment_info['partialFee']}"
|
72
72
|
)
|
73
73
|
|
@@ -104,7 +104,7 @@ async def transfer_extrinsic(
|
|
104
104
|
return (
|
105
105
|
False,
|
106
106
|
"",
|
107
|
-
format_error_message(await response.error_message
|
107
|
+
format_error_message(await response.error_message),
|
108
108
|
)
|
109
109
|
|
110
110
|
# Validate destination address.
|
@@ -913,11 +913,9 @@ class SubtensorInterface:
|
|
913
913
|
if await response.is_success:
|
914
914
|
return True, ""
|
915
915
|
else:
|
916
|
-
return False, format_error_message(
|
917
|
-
await response.error_message, substrate=self.substrate
|
918
|
-
)
|
916
|
+
return False, format_error_message(await response.error_message)
|
919
917
|
except SubstrateRequestException as e:
|
920
|
-
return False, format_error_message(e
|
918
|
+
return False, format_error_message(e)
|
921
919
|
|
922
920
|
async def get_children(self, hotkey, netuid) -> tuple[bool, list, str]:
|
923
921
|
"""
|
@@ -947,7 +945,7 @@ class SubtensorInterface:
|
|
947
945
|
else:
|
948
946
|
return True, [], ""
|
949
947
|
except SubstrateRequestException as e:
|
950
|
-
return False, [], format_error_message(e
|
948
|
+
return False, [], format_error_message(e)
|
951
949
|
|
952
950
|
async def get_subnet_hyperparameters(
|
953
951
|
self, netuid: int, block_hash: Optional[str] = None
|
@@ -458,16 +458,13 @@ def get_explorer_url_for_network(
|
|
458
458
|
return explorer_urls
|
459
459
|
|
460
460
|
|
461
|
-
def format_error_message(
|
462
|
-
error_message: Union[dict, Exception], substrate: "AsyncSubstrateInterface"
|
463
|
-
) -> str:
|
461
|
+
def format_error_message(error_message: Union[dict, Exception]) -> str:
|
464
462
|
"""
|
465
463
|
Formats an error message from the Subtensor error information for use in extrinsics.
|
466
464
|
|
467
465
|
Args:
|
468
466
|
error_message: A dictionary containing the error information from Subtensor, or a SubstrateRequestException
|
469
467
|
containing dictionary literal args.
|
470
|
-
substrate: The initialised SubstrateInterface object to use.
|
471
468
|
|
472
469
|
Returns:
|
473
470
|
str: A formatted error message string.
|
@@ -509,22 +506,8 @@ def format_error_message(
|
|
509
506
|
err_data = error_message.get("data", "")
|
510
507
|
|
511
508
|
# subtensor custom error marker
|
512
|
-
if err_data.startswith("Custom error:")
|
513
|
-
|
514
|
-
try:
|
515
|
-
pallet = substrate.metadata.get_metadata_pallet(
|
516
|
-
"SubtensorModule"
|
517
|
-
)
|
518
|
-
error_index = int(err_data.split("Custom error:")[-1])
|
519
|
-
|
520
|
-
error_dict = pallet.errors[error_index].value
|
521
|
-
err_type = error_dict.get("message", err_type)
|
522
|
-
err_docs = error_dict.get("docs", [])
|
523
|
-
err_description = err_docs[0] if err_docs else err_description
|
524
|
-
except (AttributeError, IndexError):
|
525
|
-
err_console.print(
|
526
|
-
"Substrate pallets data unavailable. This is usually caused by an uninitialized substrate."
|
527
|
-
)
|
509
|
+
if err_data.startswith("Custom error:"):
|
510
|
+
err_description = f"{err_data} | Please consult https://docs.bittensor.com/subtensor-nodes/subtensor-error-messages"
|
528
511
|
else:
|
529
512
|
err_description = err_data
|
530
513
|
|
@@ -538,7 +521,7 @@ def format_error_message(
|
|
538
521
|
err_docs = error_message.get("docs", [err_description])
|
539
522
|
err_description = err_docs[0] if err_docs else err_description
|
540
523
|
|
541
|
-
return f"Subtensor returned `{err_name}({err_type})` error. This means:
|
524
|
+
return f"Subtensor returned `{err_name}({err_type})` error. This means: `{err_description}`."
|
542
525
|
|
543
526
|
|
544
527
|
def convert_blocks_to_time(blocks: int, block_time: int = 12) -> tuple[int, int, int]:
|
@@ -866,11 +866,13 @@ async def get_weights(
|
|
866
866
|
|
867
867
|
uid_to_weights[uid][netuid] = normalized_weight
|
868
868
|
rows: list[list[str]] = []
|
869
|
+
sorted_netuids: list = list(netuids)
|
870
|
+
sorted_netuids.sort()
|
869
871
|
for uid in uid_to_weights:
|
870
872
|
row = [str(uid)]
|
871
873
|
|
872
874
|
uid_weights = uid_to_weights[uid]
|
873
|
-
for netuid in
|
875
|
+
for netuid in sorted_netuids:
|
874
876
|
if netuid in uid_weights:
|
875
877
|
row.append("{:0.2f}%".format(uid_weights[netuid] * 100))
|
876
878
|
else:
|
@@ -879,24 +881,23 @@ async def get_weights(
|
|
879
881
|
|
880
882
|
if not no_cache:
|
881
883
|
db_cols = [("UID", "INTEGER")]
|
882
|
-
for netuid in
|
884
|
+
for netuid in sorted_netuids:
|
883
885
|
db_cols.append((f"_{netuid}", "TEXT"))
|
884
886
|
create_table("rootgetweights", db_cols, rows)
|
885
|
-
netuids = list(netuids)
|
886
887
|
update_metadata_table(
|
887
888
|
"rootgetweights",
|
888
|
-
{"rows": json.dumps(rows), "netuids": json.dumps(
|
889
|
+
{"rows": json.dumps(rows), "netuids": json.dumps(sorted_netuids)},
|
889
890
|
)
|
890
891
|
else:
|
891
892
|
metadata = get_metadata_table("rootgetweights")
|
892
893
|
rows = json.loads(metadata["rows"])
|
893
|
-
|
894
|
+
sorted_netuids = json.loads(metadata["netuids"])
|
894
895
|
|
895
896
|
_min_lim = limit_min_col if limit_min_col is not None else 0
|
896
|
-
_max_lim = limit_max_col + 1 if limit_max_col is not None else len(
|
897
|
-
_max_lim = min(_max_lim, len(
|
897
|
+
_max_lim = limit_max_col + 1 if limit_max_col is not None else len(sorted_netuids)
|
898
|
+
_max_lim = min(_max_lim, len(sorted_netuids))
|
898
899
|
|
899
|
-
if _min_lim is not None and _min_lim > len(
|
900
|
+
if _min_lim is not None and _min_lim > len(sorted_netuids):
|
900
901
|
err_console.print("Minimum limit greater than number of netuids")
|
901
902
|
return
|
902
903
|
|
@@ -915,8 +916,7 @@ async def get_weights(
|
|
915
916
|
style="rgb(50,163,219)",
|
916
917
|
no_wrap=True,
|
917
918
|
)
|
918
|
-
|
919
|
-
for netuid in netuids[_min_lim:_max_lim]:
|
919
|
+
for netuid in sorted_netuids[_min_lim:_max_lim]:
|
920
920
|
table.add_column(
|
921
921
|
f"[white]{netuid}",
|
922
922
|
header_style="overline white",
|
@@ -939,7 +939,7 @@ async def get_weights(
|
|
939
939
|
|
940
940
|
else:
|
941
941
|
html_cols = [{"title": "UID", "field": "UID"}]
|
942
|
-
for netuid in
|
942
|
+
for netuid in sorted_netuids[_min_lim:_max_lim]:
|
943
943
|
html_cols.append({"title": str(netuid), "field": f"_{netuid}"})
|
944
944
|
render_table(
|
945
945
|
"rootgetweights",
|
@@ -208,7 +208,7 @@ async def set_childkey_take_extrinsic(
|
|
208
208
|
except SubstrateRequestException as e:
|
209
209
|
return (
|
210
210
|
False,
|
211
|
-
f"Exception occurred while setting childkey take: {format_error_message(e
|
211
|
+
f"Exception occurred while setting childkey take: {format_error_message(e)}",
|
212
212
|
)
|
213
213
|
|
214
214
|
|
@@ -232,9 +232,7 @@ async def get_childkey_take(subtensor, hotkey: str, netuid: int) -> Optional[int
|
|
232
232
|
return int(childkey_take_.value)
|
233
233
|
|
234
234
|
except SubstrateRequestException as e:
|
235
|
-
err_console.print(
|
236
|
-
f"Error querying ChildKeys: {format_error_message(e, subtensor.substrate)}"
|
237
|
-
)
|
235
|
+
err_console.print(f"Error querying ChildKeys: {format_error_message(e)}")
|
238
236
|
return None
|
239
237
|
|
240
238
|
|
@@ -128,7 +128,7 @@ async def register_subnetwork_extrinsic(
|
|
128
128
|
await response.process_events()
|
129
129
|
if not await response.is_success:
|
130
130
|
err_console.print(
|
131
|
-
f":cross_mark: [red]Failed[/red]: {format_error_message(await response.error_message
|
131
|
+
f":cross_mark: [red]Failed[/red]: {format_error_message(await response.error_message)}"
|
132
132
|
)
|
133
133
|
await asyncio.sleep(0.5)
|
134
134
|
return False
|
@@ -104,7 +104,7 @@ async def set_hyperparameter_extrinsic(
|
|
104
104
|
if not unlock_key(wallet).success:
|
105
105
|
return False
|
106
106
|
|
107
|
-
extrinsic = HYPERPARAMS.get(parameter)
|
107
|
+
extrinsic, sudo_ = HYPERPARAMS.get(parameter, ("", False))
|
108
108
|
if extrinsic is None:
|
109
109
|
err_console.print(":cross_mark: [red]Invalid hyperparameter specified.[/red]")
|
110
110
|
return False
|
@@ -144,11 +144,17 @@ async def set_hyperparameter_extrinsic(
|
|
144
144
|
call_params[str(value_argument["name"])] = value
|
145
145
|
|
146
146
|
# create extrinsic call
|
147
|
-
|
147
|
+
call_ = await substrate.compose_call(
|
148
148
|
call_module="AdminUtils",
|
149
149
|
call_function=extrinsic,
|
150
150
|
call_params=call_params,
|
151
151
|
)
|
152
|
+
if sudo_:
|
153
|
+
call = await substrate.compose_call(
|
154
|
+
call_module="Sudo", call_function="sudo", call_params={"call": call_}
|
155
|
+
)
|
156
|
+
else:
|
157
|
+
call = call_
|
152
158
|
success, err_msg = await subtensor.sign_and_send_extrinsic(
|
153
159
|
call, wallet, wait_for_inclusion, wait_for_finalization
|
154
160
|
)
|
@@ -134,9 +134,7 @@ class SetWeightsExtrinsic:
|
|
134
134
|
try:
|
135
135
|
success, message = await self.do_commit_weights(commit_hash=commit_hash)
|
136
136
|
except SubstrateRequestException as e:
|
137
|
-
err_console.print(
|
138
|
-
f"Error committing weights: {format_error_message(e, self.subtensor.substrate)}"
|
139
|
-
)
|
137
|
+
err_console.print(f"Error committing weights: {format_error_message(e)}")
|
140
138
|
# bittensor.logging.error(f"Error committing weights: {e}")
|
141
139
|
success = False
|
142
140
|
message = "No attempt made. Perhaps it is too soon to commit weights!"
|
@@ -257,7 +255,7 @@ class SetWeightsExtrinsic:
|
|
257
255
|
wait_for_finalization=self.wait_for_finalization,
|
258
256
|
)
|
259
257
|
except SubstrateRequestException as e:
|
260
|
-
return False, format_error_message(e
|
258
|
+
return False, format_error_message(e)
|
261
259
|
# We only wait here if we expect finalization.
|
262
260
|
if not self.wait_for_finalization and not self.wait_for_inclusion:
|
263
261
|
return True, "Not waiting for finalization or inclusion."
|
@@ -266,9 +264,7 @@ class SetWeightsExtrinsic:
|
|
266
264
|
if await response.is_success:
|
267
265
|
return True, "Successfully set weights."
|
268
266
|
else:
|
269
|
-
return False, format_error_message(
|
270
|
-
await response.error_message, self.subtensor.substrate
|
271
|
-
)
|
267
|
+
return False, format_error_message(await response.error_message)
|
272
268
|
|
273
269
|
with console.status(
|
274
270
|
f":satellite: Setting weights on [white]{self.subtensor.network}[/white] ..."
|
@@ -314,7 +310,7 @@ class SetWeightsExtrinsic:
|
|
314
310
|
wait_for_finalization=self.wait_for_finalization,
|
315
311
|
)
|
316
312
|
except SubstrateRequestException as e:
|
317
|
-
return False, format_error_message(e
|
313
|
+
return False, format_error_message(e)
|
318
314
|
|
319
315
|
if not self.wait_for_finalization and not self.wait_for_inclusion:
|
320
316
|
success, error_message = True, ""
|
@@ -326,9 +322,7 @@ class SetWeightsExtrinsic:
|
|
326
322
|
else:
|
327
323
|
success, error_message = (
|
328
324
|
False,
|
329
|
-
format_error_message(
|
330
|
-
await response.error_message, self.subtensor.substrate
|
331
|
-
),
|
325
|
+
format_error_message(await response.error_message),
|
332
326
|
)
|
333
327
|
|
334
328
|
if success:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: bittensor-cli
|
3
|
-
Version: 8.4.
|
3
|
+
Version: 8.4.1
|
4
4
|
Summary: Bittensor CLI
|
5
5
|
Home-page: https://github.com/opentensor/btcli
|
6
6
|
Author: bittensor.com
|
@@ -42,7 +42,7 @@ Requires-Dist: substrate-interface~=1.7.9
|
|
42
42
|
Requires-Dist: typer~=0.12
|
43
43
|
Requires-Dist: websockets>=14.1
|
44
44
|
Requires-Dist: bittensor-wallet>=2.1.3
|
45
|
-
Requires-Dist: bt-decode==0.
|
45
|
+
Requires-Dist: bt-decode==0.4.0
|
46
46
|
Provides-Extra: cuda
|
47
47
|
Requires-Dist: cubit>=1.1.0; extra == "cuda"
|
48
48
|
Requires-Dist: torch; extra == "cuda"
|
@@ -0,0 +1,31 @@
|
|
1
|
+
bittensor_cli/__init__.py,sha256=j3n_j0nQ-fdPqYmNd-D4fMTInfnsFcsaKeltpG2vMk0,1217
|
2
|
+
bittensor_cli/cli.py,sha256=mpkvwSy-YpJN9HZGTetA-5m441p3DxvjrwH9nuOqzOA,170143
|
3
|
+
bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
|
4
|
+
bittensor_cli/src/__init__.py,sha256=LpTjd5p40H08K4IbyJCNdLJhEcb8NuWXOwl5kSNYwjI,12355
|
5
|
+
bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
bittensor_cli/src/bittensor/async_substrate_interface.py,sha256=o7Pe_Nxsys8aPm_xsih2xR8ArhZrUu9yYobf8qBvT5s,103185
|
7
|
+
bittensor_cli/src/bittensor/balances.py,sha256=102mg1iiliLSLx-EocQseWGHiWzRqcBBM-MRoObOdKo,10075
|
8
|
+
bittensor_cli/src/bittensor/chain_data.py,sha256=IsHWjmhJbTvud2i3IM1sfmBHP82VxNHC1iFDAtlLgXc,26490
|
9
|
+
bittensor_cli/src/bittensor/minigraph.py,sha256=17AjEA75MO7ez_NekOJSaAz6ARjPt99QG_7E1RJ_u_k,8891
|
10
|
+
bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
|
11
|
+
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=JPlA39oHf1k3ltrgDKeiAnBqF51oJnn-s3EO5y1WbAY,42669
|
12
|
+
bittensor_cli/src/bittensor/utils.py,sha256=cQK2tU06OYAbedqVi3M9Nw6S2DujyyO7qHB-uAVkmDE,34686
|
13
|
+
bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
+
bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=Ieh8Wo9u7km0A_1FhEdKluozcFZB0VCs1sFEQc0faQA,58851
|
15
|
+
bittensor_cli/src/bittensor/extrinsics/root.py,sha256=hajvQOA3GyBsFKu7ifa69096dSP6NwBXmKm8HKLRVzs,19079
|
16
|
+
bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=I0XXmLI8rTxb4kUqws0J-PPcdg38TeV8AeyIVQT-TOU,8644
|
17
|
+
bittensor_cli/src/bittensor/templates/table.j2,sha256=P2EFiksnO1cQsB8zjK6hVJwUryHTsLslzRE0YtobAV8,10601
|
18
|
+
bittensor_cli/src/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
+
bittensor_cli/src/commands/root.py,sha256=28mHTMkZe0X-62Sg6o9dG82m1bx5IAG9eXk9ZBr3Jjo,62256
|
20
|
+
bittensor_cli/src/commands/subnets.py,sha256=riR41_ajUVWlDoaTUQahPzZswtY2h72pMK0rNuPj2SM,33164
|
21
|
+
bittensor_cli/src/commands/sudo.py,sha256=bP9t0QpXmqHnscEvCFHgJ4a7vETyqG1Kuc2CIVQ5qus,8436
|
22
|
+
bittensor_cli/src/commands/wallets.py,sha256=BuPJiEDOpHuGRx3zekU2QkFQjFpCUP-Kdk4opS5YfWo,60678
|
23
|
+
bittensor_cli/src/commands/weights.py,sha256=XHn0MLYUcEUtOkA_soIBJ5rqkpIliUVnyc4nzdPQslw,16276
|
24
|
+
bittensor_cli/src/commands/stake/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
+
bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=IG2-WLW4ErueeM-EHbWJHY2IueEMz-wPOaAbMVbwRcc,28542
|
26
|
+
bittensor_cli/src/commands/stake/stake.py,sha256=7TyFtL5wnXvGvD-GckNrNTRdcu3RewAfx_JfEekugFU,56147
|
27
|
+
bittensor_cli-8.4.1.dist-info/METADATA,sha256=VGBdVENpJOnWPnrBvCWFe_nsdWJpql6aEmammdNVyZ0,6786
|
28
|
+
bittensor_cli-8.4.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
29
|
+
bittensor_cli-8.4.1.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
30
|
+
bittensor_cli-8.4.1.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
31
|
+
bittensor_cli-8.4.1.dist-info/RECORD,,
|
@@ -1,31 +0,0 @@
|
|
1
|
-
bittensor_cli/__init__.py,sha256=0dDE_gb7wXMgoxy5mCs0B4IjiojCNSEiBmyJTyKwCTg,1217
|
2
|
-
bittensor_cli/cli.py,sha256=1C9xRsNq3CZHEsYcvw50IemjLxQ7olSljX6wK1WwK6g,170025
|
3
|
-
bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
|
4
|
-
bittensor_cli/src/__init__.py,sha256=1_hTPLBqA6gV8HTL-v0_RVTPt7TQJEJEv-TIw9f79OE,12055
|
5
|
-
bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
bittensor_cli/src/bittensor/async_substrate_interface.py,sha256=o7Pe_Nxsys8aPm_xsih2xR8ArhZrUu9yYobf8qBvT5s,103185
|
7
|
-
bittensor_cli/src/bittensor/balances.py,sha256=102mg1iiliLSLx-EocQseWGHiWzRqcBBM-MRoObOdKo,10075
|
8
|
-
bittensor_cli/src/bittensor/chain_data.py,sha256=IsHWjmhJbTvud2i3IM1sfmBHP82VxNHC1iFDAtlLgXc,26490
|
9
|
-
bittensor_cli/src/bittensor/minigraph.py,sha256=17AjEA75MO7ez_NekOJSaAz6ARjPt99QG_7E1RJ_u_k,8891
|
10
|
-
bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
|
11
|
-
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=_99AjukDm7ijEwQUA6TXctZFrj9IRuOzJdheKNmbZ5s,42775
|
12
|
-
bittensor_cli/src/bittensor/utils.py,sha256=60h45hRVTaLhhOOTHmNurY3wHb0Jpt9pIhS3joVM7d4,35505
|
13
|
-
bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
-
bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=87L7xs64beu0htRaiykaJcYLyRmxoFzF5PFNumNuhcw,59010
|
15
|
-
bittensor_cli/src/bittensor/extrinsics/root.py,sha256=huycqHbSTFBNIhQ846MuBqwBEtQCSVDW3y3yPAqPzeU,19121
|
16
|
-
bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=yC5oKgoKAXszMzfrof3GbeGppESUMgSqJFFGOMMALuc,8686
|
17
|
-
bittensor_cli/src/bittensor/templates/table.j2,sha256=P2EFiksnO1cQsB8zjK6hVJwUryHTsLslzRE0YtobAV8,10601
|
18
|
-
bittensor_cli/src/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
-
bittensor_cli/src/commands/root.py,sha256=hohGfh7w9Lu7z264rbmFkwRCStyZrtdBZVMt20RwiqA,62186
|
20
|
-
bittensor_cli/src/commands/subnets.py,sha256=_M2EJLdHaLBN04C22A-Xn6weN-3j5dU5frLe6W5Q2rs,33175
|
21
|
-
bittensor_cli/src/commands/sudo.py,sha256=sr4hW27EwW_O7lz0fwPLN3xRpVKNsdBasETIbGDhkb0,8209
|
22
|
-
bittensor_cli/src/commands/wallets.py,sha256=BuPJiEDOpHuGRx3zekU2QkFQjFpCUP-Kdk4opS5YfWo,60678
|
23
|
-
bittensor_cli/src/commands/weights.py,sha256=UHakAMTNqRkg_fkiyebbZAT9T3UEf93MmdbFgPSbqUw,16520
|
24
|
-
bittensor_cli/src/commands/stake/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
-
bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=j239HdawvHp9rTbIx9MI9v9hkaKbA5OaN_cIQISkHdw,28606
|
26
|
-
bittensor_cli/src/commands/stake/stake.py,sha256=7TyFtL5wnXvGvD-GckNrNTRdcu3RewAfx_JfEekugFU,56147
|
27
|
-
bittensor_cli-8.4.0.dist-info/METADATA,sha256=XJctL-W1oJCDVKEvsDOrEG_oh6t8ycRPeXudbVaQ174,6788
|
28
|
-
bittensor_cli-8.4.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
29
|
-
bittensor_cli-8.4.0.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
30
|
-
bittensor_cli-8.4.0.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
31
|
-
bittensor_cli-8.4.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|