bittensor-cli 8.2.0rc13__py3-none-any.whl → 8.2.0rc14__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.
@@ -3,7 +3,6 @@ import json
3
3
  import sqlite3
4
4
  from typing import TYPE_CHECKING, Optional, cast
5
5
  import typer
6
- import plotille
7
6
 
8
7
  from bittensor_wallet import Wallet
9
8
  from bittensor_wallet.errors import KeyFileError
@@ -116,9 +115,15 @@ async def register_subnetwork_extrinsic(
116
115
  has_identity = any(subnet_identity.values())
117
116
  if has_identity:
118
117
  identity_data = {
119
- "subnet_name": subnet_identity["subnet_name"].encode(),
120
- "github_repo": subnet_identity["github_repo"].encode(),
121
- "subnet_contact": subnet_identity["subnet_contact"].encode(),
118
+ "subnet_name": subnet_identity["subnet_name"].encode()
119
+ if subnet_identity.get("subnet_name")
120
+ else b"",
121
+ "github_repo": subnet_identity["github_repo"].encode()
122
+ if subnet_identity.get("github_repo")
123
+ else b"",
124
+ "subnet_contact": subnet_identity["subnet_contact"].encode()
125
+ if subnet_identity.get("subnet_contact")
126
+ else b"",
122
127
  }
123
128
  for field, value in identity_data.items():
124
129
  max_size = 64 # bytes
@@ -199,7 +204,7 @@ async def subnets_list(
199
204
 
200
205
  async def fetch_subnet_data():
201
206
  block_number = await subtensor.substrate.get_block_number(None)
202
- subnets = await subtensor.get_all_subnet_dynamic_info()
207
+ subnets = await subtensor.all_subnets()
203
208
 
204
209
  # Sort subnets by market cap, keeping the root subnet in the first position
205
210
  root_subnet = next(s for s in subnets if s.netuid == 0)
@@ -795,7 +800,7 @@ async def show(
795
800
  prompt: bool = True,
796
801
  ) -> Optional[str]:
797
802
  async def show_root():
798
- all_subnets = await subtensor.get_all_subnet_dynamic_info()
803
+ all_subnets = await subtensor.all_subnets()
799
804
  root_info = next((s for s in all_subnets if s.netuid == 0), None)
800
805
  if root_info is None:
801
806
  print_error("The root subnet does not exist")
@@ -1019,12 +1024,12 @@ async def show(
1019
1024
  err_console.print(f"[red]Subnet {netuid} does not exist[/red]")
1020
1025
  raise typer.Exit()
1021
1026
  (
1022
- _subnet_info,
1027
+ subnet_info,
1023
1028
  hex_bytes_result,
1024
1029
  identities,
1025
1030
  old_identities,
1026
1031
  ) = await asyncio.gather(
1027
- subtensor.get_all_subnet_dynamic_info(),
1032
+ subtensor.subnet(netuid=netuid_),
1028
1033
  subtensor.query_runtime_api(
1029
1034
  runtime_api="SubnetInfoRuntimeApi",
1030
1035
  method="get_subnet_state",
@@ -1033,7 +1038,6 @@ async def show(
1033
1038
  subtensor.query_all_identities(),
1034
1039
  subtensor.get_delegate_identities(),
1035
1040
  )
1036
- subnet_info = next((s for s in _subnet_info if s.netuid == netuid_), None)
1037
1041
  if subnet_info is None:
1038
1042
  print_error(f"Subnet {netuid_} does not exist")
1039
1043
  raise typer.Exit()
@@ -2051,124 +2055,3 @@ async def metagraph_cmd(
2051
2055
  table.add_row(*row)
2052
2056
 
2053
2057
  console.print(table)
2054
-
2055
-
2056
- async def price(
2057
- subtensor: "SubtensorInterface",
2058
- netuid: int,
2059
- interval_hours: int = 24,
2060
- ):
2061
- """Plot historical subnet price data in the CLI."""
2062
-
2063
- blocks_per_hour = int(3600 / 12) # ~300 blocks per hour
2064
- total_blocks = blocks_per_hour * interval_hours
2065
-
2066
- with console.status(":chart_increasing: Fetching historical price data..."):
2067
- current_block_hash = await subtensor.substrate.get_chain_head()
2068
- current_block = await subtensor.substrate.get_block_number(current_block_hash)
2069
-
2070
- # Block range
2071
- step = 300
2072
- start_block = max(0, current_block - total_blocks)
2073
- block_numbers = range(start_block, current_block + 1, step)
2074
-
2075
- # Fetch all block hashes
2076
- block_hash_cors = [
2077
- subtensor.substrate.get_block_hash(bn) for bn in block_numbers
2078
- ]
2079
- block_hashes = await asyncio.gather(*block_hash_cors)
2080
-
2081
- # Fetch subnet data for each block
2082
- subnet_info_cors = [
2083
- subtensor.get_subnet_dynamic_info(netuid, bh) for bh in block_hashes
2084
- ]
2085
- subnet_infos = await asyncio.gather(*subnet_info_cors)
2086
-
2087
- valid_data = [
2088
- (bn, info)
2089
- for bn, info in zip(block_numbers, subnet_infos)
2090
- if info is not None
2091
- ]
2092
- if not valid_data:
2093
- err_console.print(f"[red]No price data found for subnet {netuid}[/red]")
2094
- return
2095
-
2096
- block_numbers, subnet_infos = zip(*valid_data)
2097
- prices = [subnet_info.price.tao for subnet_info in subnet_infos]
2098
-
2099
- if len(prices) < 5:
2100
- err_console.print(
2101
- f"[red]Insufficient price data for subnet {netuid}. Need at least 5 data points but only found {len(prices)}.[/red]"
2102
- )
2103
- return
2104
-
2105
- fig = plotille.Figure()
2106
- fig.width = 60
2107
- fig.height = 20
2108
- fig.color_mode = "rgb"
2109
- fig.background = None
2110
-
2111
- def color_label(text):
2112
- return plotille.color(text, fg=(186, 233, 143), mode="rgb") # Green
2113
-
2114
- fig.x_label = color_label("Block")
2115
- fig.y_label = color_label(f"Price ({Balance.get_unit(netuid)})")
2116
-
2117
- fig.set_x_limits(min_=min(block_numbers), max_=max(block_numbers))
2118
- fig.set_y_limits(min_=min(prices) * 0.95, max_=max(prices) * 1.05)
2119
-
2120
- fig.plot(
2121
- block_numbers,
2122
- prices,
2123
- label=f"Subnet {netuid} Price",
2124
- interp="linear",
2125
- lc="bae98f", # Green hex
2126
- )
2127
-
2128
- subnet = subnet_infos[-1]
2129
- console.print(
2130
- f"\n[{COLOR_PALETTE['GENERAL']['SYMBOL']}]Subnet {netuid} - {subnet.symbol} [cyan]{get_subnet_name(subnet)}"
2131
- )
2132
- console.print(
2133
- f"Current: [blue]{prices[-1]:.6f}{Balance.get_unit(netuid)}"
2134
- if netuid != 0
2135
- else f"Current: [blue]{Balance.get_unit(netuid)} {prices[-1]:.6f}"
2136
- )
2137
- console.print(
2138
- f"{interval_hours}h High: [dark_sea_green3]{max(prices):.6f}{Balance.get_unit(netuid)}"
2139
- if netuid != 0
2140
- else f"{interval_hours}h High: [dark_sea_green3]{Balance.get_unit(netuid)} {max(prices):.6f}"
2141
- )
2142
- console.print(
2143
- f"{interval_hours}h Low: [red]{min(prices):.6f}{Balance.get_unit(netuid)}"
2144
- if netuid != 0
2145
- else f"{interval_hours}h Low: [red]{Balance.get_unit(netuid)} {min(prices):.6f}"
2146
- )
2147
-
2148
- change_color = "dark_sea_green3" if prices[-1] > prices[0] else "red"
2149
- console.print(
2150
- f"{interval_hours}h Change: "
2151
- f"[{change_color}]{((prices[-1] - prices[0]) / prices[0] * 100):.2f}%\n"
2152
- )
2153
- print(fig.show())
2154
- console.print("\nLatest stats:")
2155
- console.print(
2156
- f"Supply: [{COLOR_PALETTE['POOLS']['ALPHA_IN']}]{subnet.alpha_in.tao + subnet.alpha_out.tao:,.2f} {Balance.get_unit(netuid)}"
2157
- if netuid != 0
2158
- else f"Supply: [{COLOR_PALETTE['POOLS']['ALPHA_IN']}]{Balance.get_unit(netuid)} {subnet.alpha_in.tao + subnet.alpha_out.tao:,.2f}"
2159
- )
2160
- console.print(
2161
- f"Market Cap: [steel_blue3]{subnet.price.tao * (subnet.alpha_in.tao + subnet.alpha_out.tao):,.2f} {Balance.get_unit(netuid)} / 21M"
2162
- if netuid != 0
2163
- else f"Market Cap: [steel_blue3]{Balance.get_unit(netuid)} {subnet.price.tao * (subnet.alpha_in.tao + subnet.alpha_out.tao):,.2f} / 21M"
2164
- )
2165
- console.print(
2166
- f"Emission: [{COLOR_PALETTE['POOLS']['EMISSION']}]{subnet.emission.tao:,.2f} {Balance.get_unit(netuid)}"
2167
- if netuid != 0
2168
- else f"Emission: [{COLOR_PALETTE['POOLS']['EMISSION']}]{Balance.get_unit(netuid)} {subnet.emission.tao:,.2f}"
2169
- )
2170
- console.print(
2171
- f"Stake: [{COLOR_PALETTE['STAKE']['TAO']}]{subnet.alpha_out.tao:,.2f} {Balance.get_unit(netuid)}"
2172
- if netuid != 0
2173
- else f"Stake: [{COLOR_PALETTE['STAKE']['TAO']}]{Balance.get_unit(netuid)} {subnet.alpha_out.tao:,.2f}"
2174
- )
@@ -497,8 +497,7 @@ async def get_hyperparameters(subtensor: "SubtensorInterface", netuid: int):
497
497
  print_error(f"Subnet with netuid {netuid} does not exist.")
498
498
  return False
499
499
  subnet = await subtensor.get_subnet_hyperparameters(netuid)
500
- _subnet_info = await subtensor.get_all_subnet_dynamic_info()
501
- subnet_info = next((s for s in _subnet_info if s.netuid == netuid), None)
500
+ subnet_info = await subtensor.subnet(netuid)
502
501
  if subnet_info is None:
503
502
  print_error(f"Subnet with netuid {netuid} does not exist.")
504
503
  raise typer.Exit()
@@ -2,7 +2,7 @@ import asyncio
2
2
  import itertools
3
3
  import os
4
4
  from collections import defaultdict
5
- from typing import Any, Collection, Generator, Optional
5
+ from typing import Any, Generator, Optional
6
6
 
7
7
  import aiohttp
8
8
  from bittensor_wallet import Wallet, Keypair
@@ -23,7 +23,6 @@ from bittensor_cli.src.bittensor.balances import Balance
23
23
  from bittensor_cli.src.bittensor.chain_data import (
24
24
  DelegateInfo,
25
25
  NeuronInfoLite,
26
- StakeInfo,
27
26
  )
28
27
  from bittensor_cli.src.bittensor.extrinsics.registration import (
29
28
  run_faucet_extrinsic,
@@ -150,7 +149,7 @@ async def new_hotkey(
150
149
  use_password=use_password,
151
150
  overwrite=False,
152
151
  )
153
- console.print(f"[dark_sea_green]Hotkey created[/dark_sea_green]")
152
+ console.print("[dark_sea_green]Hotkey created[/dark_sea_green]")
154
153
  except KeyFileError:
155
154
  print_error("KeyFileError: File is not writable")
156
155
 
@@ -179,7 +178,7 @@ async def new_coldkey(
179
178
  use_password=use_password,
180
179
  overwrite=False,
181
180
  )
182
- console.print(f"[dark_sea_green]Coldkey created[/dark_sea_green]")
181
+ console.print("[dark_sea_green]Coldkey created[/dark_sea_green]")
183
182
  except KeyFileError:
184
183
  print_error("KeyFileError: File is not writable")
185
184
 
@@ -194,11 +193,11 @@ async def wallet_create(
194
193
  if uri:
195
194
  try:
196
195
  keypair = Keypair.create_from_uri(uri)
196
+ wallet.set_coldkey(keypair=keypair, encrypt=False, overwrite=False)
197
+ wallet.set_coldkeypub(keypair=keypair, encrypt=False, overwrite=False)
198
+ wallet.set_hotkey(keypair=keypair, encrypt=False, overwrite=False)
197
199
  except Exception as e:
198
200
  print_error(f"Failed to create keypair from URI: {str(e)}")
199
- wallet.set_coldkey(keypair=keypair, encrypt=False, overwrite=False)
200
- wallet.set_coldkeypub(keypair=keypair, encrypt=False, overwrite=False)
201
- wallet.set_hotkey(keypair=keypair, encrypt=False, overwrite=False)
202
201
  console.print(
203
202
  f"[dark_sea_green]Wallet created from URI: {uri}[/dark_sea_green]"
204
203
  )
@@ -209,7 +208,7 @@ async def wallet_create(
209
208
  use_password=use_password,
210
209
  overwrite=False,
211
210
  )
212
- console.print(f"[dark_sea_green]Coldkey created[/dark_sea_green]")
211
+ console.print("[dark_sea_green]Coldkey created[/dark_sea_green]")
213
212
  except KeyFileError:
214
213
  print_error("KeyFileError: File is not writable")
215
214
 
@@ -219,7 +218,7 @@ async def wallet_create(
219
218
  use_password=False,
220
219
  overwrite=False,
221
220
  )
222
- console.print(f"[dark_sea_green]Hotkey created[/dark_sea_green]")
221
+ console.print("[dark_sea_green]Hotkey created[/dark_sea_green]")
223
222
  except KeyFileError:
224
223
  print_error("KeyFileError: File is not writable")
225
224
 
@@ -610,7 +609,7 @@ async def overview(
610
609
  all_hotkeys, total_balance = await _get_total_balance(
611
610
  total_balance, subtensor, wallet, all_wallets, block_hash=block_hash
612
611
  )
613
- _dynamic_info = await subtensor.get_all_subnet_dynamic_info()
612
+ _dynamic_info = await subtensor.all_subnets()
614
613
  dynamic_info = {info.netuid: info for info in _dynamic_info}
615
614
 
616
615
  with console.status(
@@ -1094,55 +1093,6 @@ async def _get_neurons_for_netuids(
1094
1093
  ]
1095
1094
 
1096
1095
 
1097
- async def _get_de_registered_stake_for_coldkey_wallet(
1098
- subtensor: SubtensorInterface,
1099
- all_hotkey_addresses: Collection[str],
1100
- coldkey_wallet: Wallet,
1101
- ) -> tuple[Wallet, list[tuple[str, float]], Optional[str]]:
1102
- """
1103
- Looks at the total stake of a coldkey, then filters this based on the supplied hotkey addresses
1104
- depending on whether the hotkey is a delegate
1105
-
1106
- :param subtensor: SubtensorInterface to make queries with
1107
- :param all_hotkey_addresses: collection of hotkey SS58 addresses
1108
- :param coldkey_wallet: Wallet containing coldkey
1109
-
1110
- :return: (original wallet, [(hotkey SS58, stake in TAO), ...], error message)
1111
- """
1112
- # Pull all stake for our coldkey
1113
- all_stake_info_for_coldkey = await subtensor.get_stake_info_for_coldkey(
1114
- coldkey_ss58=coldkey_wallet.coldkeypub.ss58_address, reuse_block=True
1115
- )
1116
-
1117
- # Filter out hotkeys that are in our wallets
1118
- # Filter out hotkeys that are delegates.
1119
- async def _filter_stake_info(stake_info: StakeInfo) -> bool:
1120
- if stake_info.stake == 0:
1121
- return False # Skip hotkeys that we have no stake with.
1122
- if stake_info.hotkey_ss58 in all_hotkey_addresses:
1123
- return False # Skip hotkeys that are in our wallets.
1124
- return not await subtensor.is_hotkey_delegate(
1125
- hotkey_ss58=stake_info.hotkey_ss58, reuse_block=True
1126
- )
1127
-
1128
- all_staked = await asyncio.gather(
1129
- *[_filter_stake_info(stake_info) for stake_info in all_stake_info_for_coldkey]
1130
- )
1131
-
1132
- # Collecting all filtered stake info using async for loop
1133
- all_staked_hotkeys = []
1134
- for stake_info, staked in zip(all_stake_info_for_coldkey, all_staked):
1135
- if staked:
1136
- all_staked_hotkeys.append(
1137
- (
1138
- stake_info.hotkey_ss58,
1139
- stake_info.stake.tao,
1140
- )
1141
- )
1142
-
1143
- return coldkey_wallet, all_staked_hotkeys, None
1144
-
1145
-
1146
1096
  async def transfer(
1147
1097
  wallet: Wallet,
1148
1098
  subtensor: SubtensorInterface,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bittensor-cli
3
- Version: 8.2.0rc13
3
+ Version: 8.2.0rc14
4
4
  Summary: Bittensor CLI
5
5
  Home-page: https://github.com/opentensor/btcli
6
6
  Author: bittensor.com
@@ -44,6 +44,8 @@ Requires-Dist: websockets>=14.1
44
44
  Requires-Dist: bittensor-wallet>=2.0.2
45
45
  Requires-Dist: bt-decode==0.4.0
46
46
  Requires-Dist: plotille
47
+ Requires-Dist: pywry
48
+ Requires-Dist: plotly
47
49
  Provides-Extra: cuda
48
50
  Requires-Dist: cubit>=1.1.0; extra == "cuda"
49
51
  Requires-Dist: torch; extra == "cuda"
@@ -0,0 +1,33 @@
1
+ bittensor_cli/__init__.py,sha256=Loe--RajOIR8vCTua14sZsUSnSHLdBA2Mb0hFBSoECQ,1221
2
+ bittensor_cli/cli.py,sha256=WsPsMHOWNdqUKgNbXDyr-fgQeO8shn8-xlndWgzNBJ4,170158
3
+ bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
4
+ bittensor_cli/src/__init__.py,sha256=KprSr1MmKKyh15PYcnA57mbX1svihIXyrtwnUIaUvbk,32042
5
+ bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ bittensor_cli/src/bittensor/async_substrate_interface.py,sha256=qetCcD5qlAxeedhQ0cwfHo6QSjohCljJarqyzKpcHFQ,103240
7
+ bittensor_cli/src/bittensor/balances.py,sha256=1ch3c4Gc3IRgIn8MMfbavQm71n3N_fUH7j9EGM6oH6M,11436
8
+ bittensor_cli/src/bittensor/chain_data.py,sha256=zRQdZXERrRxqWXcdS3XgST1bgwcuEn4aGYtK6SbqtVk,59832
9
+ bittensor_cli/src/bittensor/minigraph.py,sha256=MCiuLRn9lhGoO1aKrM7YOiQAmANxFRkknwHCcjpn8uw,10499
10
+ bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
11
+ bittensor_cli/src/bittensor/subtensor_interface.py,sha256=ceB6nwEIDShFEKkHwZ6vGOEC8bNFxBfy3XzkH7izvZs,56357
12
+ bittensor_cli/src/bittensor/utils.py,sha256=-t51UAbvs2WA6bFe6DxrAN_eINfaMXCud3bnABAjzZE,41421
13
+ bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=p_ARqDiniDNL-ZPuswfk_DJW5kl5rMNxL_uRbfVTkTA,64599
15
+ bittensor_cli/src/bittensor/extrinsics/root.py,sha256=RZEQv6QVDAQDjuX_vgjOMsatYvHpA3MW8zueiL6jxlE,19376
16
+ bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=8-7LVM8Xt_K-f_pJfAVeybSF_mr3pJorjs963TQbRZ0,8407
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/sudo.py,sha256=_W751AW_y4zwTNFkV5Am6iJOOvXck0OVxGTGttN2Mzk,26174
20
+ bittensor_cli/src/commands/wallets.py,sha256=hEmcbi2uGCsQJgPPsxJzrTvhoKmnBOvaFKqhynoI6rQ,50250
21
+ bittensor_cli/src/commands/weights.py,sha256=3BCqVB1-W6BG0U_iOtuUZmFOQ9QngsnXAkBLwCHjK0g,16440
22
+ bittensor_cli/src/commands/stake/__init__.py,sha256=kcQE86CfemAw2LoNBHA_FIwixf4VyJ26FT10f0peJEU,6569
23
+ bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=WTFR0oprtOzMc5x0MXtWm595Bd4yK9iZCymwc3whr0U,28215
24
+ bittensor_cli/src/commands/stake/move.py,sha256=c0YsQxKcFYJ8Bf6Gg_8_t99QV5RBx_KiuKCkHLc2fZ4,37199
25
+ bittensor_cli/src/commands/stake/stake.py,sha256=hCJzZScVeJ4bpGnCnzZcPq7gPpZ3U_qOUKloB7rZfuU,78705
26
+ bittensor_cli/src/commands/subnets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ bittensor_cli/src/commands/subnets/price.py,sha256=TWcRXUFeS_Q-pfyv0YIluAL8SE7d2gzTODK-9M2J5pw,29878
28
+ bittensor_cli/src/commands/subnets/subnets.py,sha256=9nMoAjMe7l6gUsd3snk8IU-rwwtFM9Ntw_HWS9uxlkk,80784
29
+ bittensor_cli-8.2.0rc14.dist-info/METADATA,sha256=MKLDM6O03vN2ClHMxHEBRyZDlAj0DClN2J2mnuqv0-U,6885
30
+ bittensor_cli-8.2.0rc14.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
31
+ bittensor_cli-8.2.0rc14.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
32
+ bittensor_cli-8.2.0rc14.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
33
+ bittensor_cli-8.2.0rc14.dist-info/RECORD,,
@@ -1,30 +0,0 @@
1
- bittensor_cli/__init__.py,sha256=xAILUH3afQeZzSszUzL5phiL4q9L-DGjLa9Qb9EPnFI,1221
2
- bittensor_cli/cli.py,sha256=tgukEorJrNCTXNmqNFjZL8QVgjZtw3pB_fTGADC0bqE,156081
3
- bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
4
- bittensor_cli/src/__init__.py,sha256=6i5Faz1h2ZX3YzgBT4E3w0ayZnzWmBCzUqnPefXpOQA,32004
5
- bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- bittensor_cli/src/bittensor/async_substrate_interface.py,sha256=qetCcD5qlAxeedhQ0cwfHo6QSjohCljJarqyzKpcHFQ,103240
7
- bittensor_cli/src/bittensor/balances.py,sha256=qMGnPx4UGwtSDjlUMP81jVRp1-8M99H0Q43IsVnl6aI,10722
8
- bittensor_cli/src/bittensor/chain_data.py,sha256=dhTwx_9CXI9rVeJ0PsU6pqY7WHyIDuxCJVhpnPTKFPk,59445
9
- bittensor_cli/src/bittensor/minigraph.py,sha256=MCiuLRn9lhGoO1aKrM7YOiQAmANxFRkknwHCcjpn8uw,10499
10
- bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
11
- bittensor_cli/src/bittensor/subtensor_interface.py,sha256=f0UveL6Nna-ZLWAQTXMp3Kiorm4QPBDtrshtHmaivF0,57023
12
- bittensor_cli/src/bittensor/utils.py,sha256=KkYhHJZge0-uHXsG3VNz-IbWfaksuRnCXuXq1FP5CkQ,40611
13
- bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=p_ARqDiniDNL-ZPuswfk_DJW5kl5rMNxL_uRbfVTkTA,64599
15
- bittensor_cli/src/bittensor/extrinsics/root.py,sha256=RZEQv6QVDAQDjuX_vgjOMsatYvHpA3MW8zueiL6jxlE,19376
16
- bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=8-7LVM8Xt_K-f_pJfAVeybSF_mr3pJorjs963TQbRZ0,8407
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/subnets.py,sha256=tB8HFKFJqy9eUPgf4kVZwb7kL1a6Ehj5_RnQQ0Hmu64,85389
20
- bittensor_cli/src/commands/sudo.py,sha256=kLxqEledQVAGxqPb4cJrb8oDomHSZ1PwioCxubnIjRs,26268
21
- bittensor_cli/src/commands/wallets.py,sha256=m4OYKq-6r2Fg8WkF_kCP81ittdZL1uWRgPukptihaE0,52204
22
- bittensor_cli/src/commands/weights.py,sha256=3BCqVB1-W6BG0U_iOtuUZmFOQ9QngsnXAkBLwCHjK0g,16440
23
- bittensor_cli/src/commands/stake/__init__.py,sha256=kcQE86CfemAw2LoNBHA_FIwixf4VyJ26FT10f0peJEU,6569
24
- bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=WTFR0oprtOzMc5x0MXtWm595Bd4yK9iZCymwc3whr0U,28215
25
- bittensor_cli/src/commands/stake/stake.py,sha256=MdBRj4sAuZGNJ5edPHLeaaNO4OQD70ThAUUYMKOLlvA,123929
26
- bittensor_cli-8.2.0rc13.dist-info/METADATA,sha256=hSJvbEXbFBbojxEtOzM15LUWgY0KB1kjs0ZkBfCHnhY,6842
27
- bittensor_cli-8.2.0rc13.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
28
- bittensor_cli-8.2.0rc13.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
29
- bittensor_cli-8.2.0rc13.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
30
- bittensor_cli-8.2.0rc13.dist-info/RECORD,,