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 CHANGED
@@ -18,6 +18,6 @@
18
18
  from .cli import CLIManager
19
19
 
20
20
 
21
- __version__ = "8.4.0"
21
+ __version__ = "8.4.1"
22
22
 
23
23
  __all__ = ["CLIManager", "__version__"]
bittensor_cli/cli.py CHANGED
@@ -58,7 +58,7 @@ except ImportError:
58
58
  pass
59
59
 
60
60
 
61
- __version__ = "8.4.0"
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 subnets.
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
- hyperparams = self._run_command(
3888
- sudo.get_hyperparameters(self.initialize_chain(network), netuid)
3889
- )
3890
-
3891
- if not hyperparams:
3892
- raise typer.Exit()
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)]
@@ -318,32 +318,36 @@ NETWORK_EXPLORER_MAP = {
318
318
 
319
319
 
320
320
  HYPERPARAMS = {
321
- "rho": "sudo_set_rho",
322
- "kappa": "sudo_set_kappa",
323
- "immunity_period": "sudo_set_immunity_period",
324
- "min_allowed_weights": "sudo_set_min_allowed_weights",
325
- "max_weights_limit": "sudo_set_max_weight_limit",
326
- "tempo": "sudo_set_tempo",
327
- "min_difficulty": "sudo_set_min_difficulty",
328
- "max_difficulty": "sudo_set_max_difficulty",
329
- "weights_version": "sudo_set_weights_version_key",
330
- "weights_rate_limit": "sudo_set_weights_set_rate_limit",
331
- "adjustment_interval": "sudo_set_adjustment_interval",
332
- "activity_cutoff": "sudo_set_activity_cutoff",
333
- "target_regs_per_interval": "sudo_set_target_registrations_per_interval",
334
- "min_burn": "sudo_set_min_burn",
335
- "max_burn": "sudo_set_max_burn",
336
- "bonds_moving_avg": "sudo_set_bonds_moving_average",
337
- "max_regs_per_block": "sudo_set_max_registrations_per_block",
338
- "serving_rate_limit": "sudo_set_serving_rate_limit",
339
- "max_validators": "sudo_set_max_allowed_validators",
340
- "adjustment_alpha": "sudo_set_adjustment_alpha",
341
- "difficulty": "sudo_set_difficulty",
342
- "commit_reveal_weights_interval": "sudo_set_commit_reveal_weights_interval",
343
- "commit_reveal_weights_enabled": "sudo_set_commit_reveal_weights_enabled",
344
- "alpha_values": "sudo_set_alpha_values",
345
- "liquid_alpha_enabled": "sudo_set_liquid_alpha_enabled",
346
- "registration_allowed": "sudo_set_network_registration_allowed",
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, subtensor.substrate)}"
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, subtensor.substrate)
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, subtensor.substrate)
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, subtensor.substrate)}[/bold white]\n"
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, subtensor.substrate),
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, substrate=self.substrate)
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, self.substrate)
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:") and substrate:
513
- if substrate.metadata:
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: '{err_description}'."
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 netuids:
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 netuids:
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(netuids)},
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
- netuids = json.loads(metadata["netuids"])
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(netuids)
897
- _max_lim = min(_max_lim, len(netuids))
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(netuids):
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
- netuids = list(netuids)
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 netuids[_min_lim:_max_lim]:
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, subtensor.substrate)}",
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, substrate)}"
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
- call = await substrate.compose_call(
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, self.subtensor.substrate)
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, self.subtensor.substrate)
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.0
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.2.0a0
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,,