bittensor-cli 9.0.0rc2__py3-none-any.whl → 9.0.0rc4__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 +451 -159
- bittensor_cli/src/__init__.py +1 -0
- bittensor_cli/src/bittensor/subtensor_interface.py +1 -1
- bittensor_cli/src/bittensor/utils.py +14 -0
- bittensor_cli/src/commands/stake/add.py +625 -0
- bittensor_cli/src/commands/stake/list.py +687 -0
- bittensor_cli/src/commands/stake/move.py +1 -1
- bittensor_cli/src/commands/stake/remove.py +1146 -0
- bittensor_cli/src/commands/subnets/subnets.py +33 -60
- bittensor_cli/src/commands/wallets.py +24 -32
- {bittensor_cli-9.0.0rc2.dist-info → bittensor_cli-9.0.0rc4.dist-info}/METADATA +1 -1
- {bittensor_cli-9.0.0rc2.dist-info → bittensor_cli-9.0.0rc4.dist-info}/RECORD +16 -14
- bittensor_cli/src/commands/stake/stake.py +0 -1821
- {bittensor_cli-9.0.0rc2.dist-info → bittensor_cli-9.0.0rc4.dist-info}/WHEEL +0 -0
- {bittensor_cli-9.0.0rc2.dist-info → bittensor_cli-9.0.0rc4.dist-info}/entry_points.txt +0 -0
- {bittensor_cli-9.0.0rc2.dist-info → bittensor_cli-9.0.0rc4.dist-info}/top_level.txt +0 -0
@@ -326,7 +326,7 @@ async def subnets_list(
|
|
326
326
|
if netuid == 0:
|
327
327
|
emission_tao = 0.0
|
328
328
|
else:
|
329
|
-
emission_tao = subnet.
|
329
|
+
emission_tao = subnet.tao_in_emission.tao
|
330
330
|
|
331
331
|
alpha_in_value = (
|
332
332
|
f"{millify_tao(subnet.alpha_in.tao)}"
|
@@ -399,7 +399,7 @@ async def subnets_list(
|
|
399
399
|
)
|
400
400
|
|
401
401
|
total_emissions = round(
|
402
|
-
sum(
|
402
|
+
sum(subnet.tao_in_emission.tao for subnet in subnets if subnet.netuid != 0),
|
403
403
|
4,
|
404
404
|
)
|
405
405
|
total_rate = round(
|
@@ -528,7 +528,7 @@ async def subnets_list(
|
|
528
528
|
if netuid == 0:
|
529
529
|
emission_tao = 0.0
|
530
530
|
else:
|
531
|
-
emission_tao = subnet.
|
531
|
+
emission_tao = subnet.tao_in_emission.tao
|
532
532
|
|
533
533
|
market_cap = (subnet.alpha_in.tao + subnet.alpha_out.tao) * subnet.price.tao
|
534
534
|
supply = subnet.alpha_in.tao + subnet.alpha_out.tao
|
@@ -657,7 +657,7 @@ async def subnets_list(
|
|
657
657
|
# Calculate totals
|
658
658
|
total_netuids = len(subnets)
|
659
659
|
_total_emissions = sum(
|
660
|
-
|
660
|
+
subnet.tao_in_emission.tao for subnet in subnets if subnet.netuid != 0
|
661
661
|
)
|
662
662
|
total_emissions = (
|
663
663
|
f"{millify_tao(_total_emissions)}"
|
@@ -665,9 +665,7 @@ async def subnets_list(
|
|
665
665
|
else f"{_total_emissions:,.2f}"
|
666
666
|
)
|
667
667
|
|
668
|
-
total_rate = sum(
|
669
|
-
float(subnet.price.tao) for subnet in subnets if subnet.netuid != 0
|
670
|
-
)
|
668
|
+
total_rate = sum(subnet.price.tao for subnet in subnets if subnet.netuid != 0)
|
671
669
|
total_rate = (
|
672
670
|
f"{millify_tao(total_rate)}" if not verbose else f"{total_rate:,.2f}"
|
673
671
|
)
|
@@ -804,6 +802,7 @@ async def subnets_list(
|
|
804
802
|
async def show(
|
805
803
|
subtensor: "SubtensorInterface",
|
806
804
|
netuid: int,
|
805
|
+
sort: bool = False,
|
807
806
|
max_rows: Optional[int] = None,
|
808
807
|
delegate_selection: bool = False,
|
809
808
|
verbose: bool = False,
|
@@ -850,18 +849,6 @@ async def show(
|
|
850
849
|
)
|
851
850
|
|
852
851
|
table.add_column("[bold white]Position", style="white", justify="center")
|
853
|
-
# table.add_column(
|
854
|
-
# f"[bold white]Total Stake ({Balance.get_unit(0)})",
|
855
|
-
# style=COLOR_PALETTE["POOLS"]["ALPHA_IN"],
|
856
|
-
# justify="center",
|
857
|
-
# )
|
858
|
-
# ------- Temporary columns for testing -------
|
859
|
-
# table.add_column(
|
860
|
-
# "Alpha (τ)",
|
861
|
-
# style=COLOR_PALETTE["POOLS"]["EXTRA_2"],
|
862
|
-
# no_wrap=True,
|
863
|
-
# justify="right",
|
864
|
-
# )
|
865
852
|
table.add_column(
|
866
853
|
"Tao (τ)",
|
867
854
|
style=COLOR_PALETTE["POOLS"]["EXTRA_2"],
|
@@ -869,7 +856,6 @@ async def show(
|
|
869
856
|
justify="right",
|
870
857
|
footer=f"{tao_sum:.4f} τ" if verbose else f"{millify_tao(tao_sum)} τ",
|
871
858
|
)
|
872
|
-
# ------- End Temporary columns for testing -------
|
873
859
|
table.add_column(
|
874
860
|
f"[bold white]Emission ({Balance.get_unit(0)}/block)",
|
875
861
|
style=COLOR_PALETTE["POOLS"]["EMISSION"],
|
@@ -1075,14 +1061,6 @@ async def show(
|
|
1075
1061
|
pad_edge=True,
|
1076
1062
|
)
|
1077
1063
|
|
1078
|
-
# For hotkey_block_emission calculation
|
1079
|
-
emission_sum = sum(
|
1080
|
-
[
|
1081
|
-
subnet_state.emission[idx].tao
|
1082
|
-
for idx in range(len(subnet_state.emission))
|
1083
|
-
]
|
1084
|
-
)
|
1085
|
-
|
1086
1064
|
# For table footers
|
1087
1065
|
alpha_sum = sum(
|
1088
1066
|
[
|
@@ -1102,7 +1080,16 @@ async def show(
|
|
1102
1080
|
for idx in range(len(subnet_state.tao_stake))
|
1103
1081
|
]
|
1104
1082
|
)
|
1105
|
-
|
1083
|
+
dividends_sum = sum(
|
1084
|
+
subnet_state.dividends[idx] for idx in range(len(subnet_state.dividends))
|
1085
|
+
)
|
1086
|
+
emission_sum = sum(
|
1087
|
+
[
|
1088
|
+
subnet_state.emission[idx].tao
|
1089
|
+
for idx in range(len(subnet_state.emission))
|
1090
|
+
]
|
1091
|
+
)
|
1092
|
+
|
1106
1093
|
owner_hotkeys = await subtensor.get_owned_hotkeys(subnet_info.owner_coldkey)
|
1107
1094
|
if subnet_info.owner_hotkey not in owner_hotkeys:
|
1108
1095
|
owner_hotkeys.append(subnet_info.owner_hotkey)
|
@@ -1118,25 +1105,24 @@ async def show(
|
|
1118
1105
|
sorted_indices = sorted(
|
1119
1106
|
range(len(subnet_state.hotkeys)),
|
1120
1107
|
key=lambda i: (
|
1121
|
-
#
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1108
|
+
# If sort is True, sort only by UIDs
|
1109
|
+
i
|
1110
|
+
if sort
|
1111
|
+
else (
|
1112
|
+
# Otherwise
|
1113
|
+
# Sort by owner status first
|
1114
|
+
not (
|
1115
|
+
subnet_state.coldkeys[i] == subnet_info.owner_coldkey
|
1116
|
+
or subnet_state.hotkeys[i] in owner_hotkeys
|
1117
|
+
),
|
1118
|
+
# Then sort by stake amount (higher stakes first)
|
1119
|
+
-subnet_state.total_stake[i].tao,
|
1120
|
+
)
|
1128
1121
|
),
|
1129
1122
|
)
|
1130
1123
|
|
1131
1124
|
rows = []
|
1132
1125
|
for idx in sorted_indices:
|
1133
|
-
hotkey_block_emission = (
|
1134
|
-
subnet_state.emission[idx].tao / emission_sum
|
1135
|
-
if emission_sum != 0
|
1136
|
-
else 0
|
1137
|
-
)
|
1138
|
-
relative_emissions_sum += hotkey_block_emission
|
1139
|
-
|
1140
1126
|
# Get identity for this uid
|
1141
1127
|
coldkey_identity = identities.get(subnet_state.coldkeys[idx], {}).get(
|
1142
1128
|
"name", ""
|
@@ -1175,11 +1161,9 @@ async def show(
|
|
1175
1161
|
f"τ {tao_stake.tao:.4f}"
|
1176
1162
|
if verbose
|
1177
1163
|
else f"τ {millify_tao(tao_stake)}", # Tao Stake
|
1178
|
-
|
1179
|
-
f"{
|
1180
|
-
f"{subnet_state.
|
1181
|
-
# f"{Balance.from_tao(hotkey_block_emission).set_unit(netuid_).tao:.5f}", # Emissions relative
|
1182
|
-
f"{Balance.from_tao(subnet_state.emission[idx].tao).set_unit(netuid_).tao:.5f} {subnet_info.symbol}", # Emissions
|
1164
|
+
f"{subnet_state.dividends[idx]:.6f}", # Dividends
|
1165
|
+
f"{subnet_state.incentives[idx]:.6f}", # Incentive
|
1166
|
+
f"{Balance.from_tao(subnet_state.emission[idx].tao).set_unit(netuid_).tao:.6f} {subnet_info.symbol}", # Emissions
|
1183
1167
|
f"{subnet_state.hotkeys[idx][:6]}"
|
1184
1168
|
if not verbose
|
1185
1169
|
else f"{subnet_state.hotkeys[idx]}", # Hotkey
|
@@ -1201,7 +1185,6 @@ async def show(
|
|
1201
1185
|
if verbose
|
1202
1186
|
else f"{millify_tao(stake_sum)} {subnet_info.symbol}",
|
1203
1187
|
)
|
1204
|
-
# ------- Temporary columns for testing -------
|
1205
1188
|
table.add_column(
|
1206
1189
|
f"Alpha ({Balance.get_unit(netuid_)})",
|
1207
1190
|
style=COLOR_PALETTE["POOLS"]["EXTRA_2"],
|
@@ -1220,24 +1203,14 @@ async def show(
|
|
1220
1203
|
if verbose
|
1221
1204
|
else f"{millify_tao(tao_sum)} {subnet_info.symbol}",
|
1222
1205
|
)
|
1223
|
-
# ------- End Temporary columns for testing -------
|
1224
1206
|
table.add_column(
|
1225
1207
|
"Dividends",
|
1226
1208
|
style=COLOR_PALETTE["POOLS"]["EMISSION"],
|
1227
1209
|
no_wrap=True,
|
1228
1210
|
justify="center",
|
1229
|
-
footer=f"{
|
1211
|
+
footer=f"{dividends_sum:.3f}",
|
1230
1212
|
)
|
1231
1213
|
table.add_column("Incentive", style="#5fd7ff", no_wrap=True, justify="center")
|
1232
|
-
|
1233
|
-
# Hiding relative emissions for now
|
1234
|
-
# table.add_column(
|
1235
|
-
# "Emissions",
|
1236
|
-
# style="light_goldenrod2",
|
1237
|
-
# no_wrap=True,
|
1238
|
-
# justify="center",
|
1239
|
-
# footer=f"{relative_emissions_sum:.3f}",
|
1240
|
-
# )
|
1241
1214
|
table.add_column(
|
1242
1215
|
f"Emissions ({Balance.get_unit(netuid_)})",
|
1243
1216
|
style=COLOR_PALETTE["POOLS"]["EMISSION"],
|
@@ -6,7 +6,7 @@ from typing import Generator, Optional
|
|
6
6
|
|
7
7
|
import aiohttp
|
8
8
|
from bittensor_wallet import Wallet, Keypair
|
9
|
-
from bittensor_wallet.errors import KeyFileError
|
9
|
+
from bittensor_wallet.errors import KeyFileError, PasswordError
|
10
10
|
from bittensor_wallet.keyfile import Keyfile
|
11
11
|
from fuzzywuzzy import fuzz
|
12
12
|
from rich import box
|
@@ -286,16 +286,12 @@ async def wallet_balance(
|
|
286
286
|
wallet_names = [wallet.name]
|
287
287
|
|
288
288
|
block_hash = await subtensor.substrate.get_chain_head()
|
289
|
-
free_balances
|
290
|
-
subtensor.get_balances(*coldkeys, block_hash=block_hash),
|
291
|
-
subtensor.get_total_stake_for_coldkey(*coldkeys, block_hash=block_hash),
|
292
|
-
)
|
289
|
+
free_balances = await subtensor.get_balances(*coldkeys, block_hash=block_hash)
|
293
290
|
|
294
291
|
total_free_balance = sum(free_balances.values())
|
295
|
-
total_staked_balance = sum(staked_balances.values())
|
296
292
|
|
297
293
|
balances = {
|
298
|
-
name: (coldkey, free_balances[coldkey]
|
294
|
+
name: (coldkey, free_balances[coldkey])
|
299
295
|
for (name, coldkey) in zip(wallet_names, coldkeys)
|
300
296
|
}
|
301
297
|
|
@@ -316,18 +312,6 @@ async def wallet_balance(
|
|
316
312
|
style=COLOR_PALETTE["GENERAL"]["BALANCE"],
|
317
313
|
no_wrap=True,
|
318
314
|
),
|
319
|
-
Column(
|
320
|
-
"[white]Staked Balance",
|
321
|
-
justify="right",
|
322
|
-
style=COLOR_PALETTE["STAKE"]["STAKE_AMOUNT"],
|
323
|
-
no_wrap=True,
|
324
|
-
),
|
325
|
-
Column(
|
326
|
-
"[white]Total Balance",
|
327
|
-
justify="right",
|
328
|
-
style=COLOR_PALETTE["GENERAL"]["BALANCE"],
|
329
|
-
no_wrap=True,
|
330
|
-
),
|
331
315
|
title=f"\n [{COLOR_PALETTE['GENERAL']['HEADER']}]Wallet Coldkey Balance\nNetwork: {subtensor.network}",
|
332
316
|
show_footer=True,
|
333
317
|
show_edge=False,
|
@@ -338,25 +322,21 @@ async def wallet_balance(
|
|
338
322
|
leading=True,
|
339
323
|
)
|
340
324
|
|
341
|
-
for name, (coldkey, free
|
325
|
+
for name, (coldkey, free) in balances.items():
|
342
326
|
table.add_row(
|
343
327
|
name,
|
344
328
|
coldkey,
|
345
329
|
str(free),
|
346
|
-
str(staked),
|
347
|
-
str(free + staked),
|
348
330
|
)
|
349
331
|
table.add_row()
|
350
332
|
table.add_row(
|
351
333
|
"Total Balance",
|
352
334
|
"",
|
353
335
|
str(total_free_balance),
|
354
|
-
str(total_staked_balance),
|
355
|
-
str(total_free_balance + total_staked_balance),
|
356
336
|
)
|
357
337
|
console.print(Padding(table, (0, 0, 0, 4)))
|
358
338
|
await subtensor.substrate.close()
|
359
|
-
return total_free_balance
|
339
|
+
return total_free_balance
|
360
340
|
|
361
341
|
|
362
342
|
async def get_wallet_transfers(wallet_address: str) -> list[dict]:
|
@@ -1418,19 +1398,31 @@ async def check_coldkey_swap(wallet: Wallet, subtensor: SubtensorInterface):
|
|
1418
1398
|
async def sign(wallet: Wallet, message: str, use_hotkey: str):
|
1419
1399
|
"""Sign a message using the provided wallet or hotkey."""
|
1420
1400
|
|
1421
|
-
|
1422
|
-
|
1423
|
-
|
1424
|
-
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1401
|
+
def _unlock(key: str):
|
1402
|
+
try:
|
1403
|
+
getattr(wallet, f"unlock_{key}")()
|
1404
|
+
return True
|
1405
|
+
except PasswordError:
|
1406
|
+
err_console.print(
|
1407
|
+
":cross_mark: [red]The password used to decrypt your keyfile is invalid[/red]"
|
1408
|
+
)
|
1409
|
+
return False
|
1410
|
+
except KeyFileError:
|
1411
|
+
err_console.print(
|
1412
|
+
":cross_mark: [red]Keyfile is corrupt, non-writable, or non-readable[/red]:"
|
1413
|
+
)
|
1414
|
+
return False
|
1415
|
+
|
1428
1416
|
if not use_hotkey:
|
1417
|
+
if not _unlock("coldkey"):
|
1418
|
+
return False
|
1429
1419
|
keypair = wallet.coldkey
|
1430
1420
|
print_verbose(
|
1431
1421
|
f"Signing using [{COLOR_PALETTE['GENERAL']['COLDKEY']}]coldkey: {wallet.name}"
|
1432
1422
|
)
|
1433
1423
|
else:
|
1424
|
+
if not _unlock("hotkey"):
|
1425
|
+
return False
|
1434
1426
|
keypair = wallet.hotkey
|
1435
1427
|
print_verbose(
|
1436
1428
|
f"Signing using [{COLOR_PALETTE['GENERAL']['HOTKEY']}]hotkey: {wallet.hotkey_str}"
|
@@ -1,14 +1,14 @@
|
|
1
|
-
bittensor_cli/__init__.py,sha256=
|
2
|
-
bittensor_cli/cli.py,sha256=
|
1
|
+
bittensor_cli/__init__.py,sha256=9HvyLfJ2pUxwPjgT8Aqp6uWbkuD-TKrpVMLUBeD9U9A,1216
|
2
|
+
bittensor_cli/cli.py,sha256=LHeltSOQArKSc2Fct6dIUwXPoJs1pJoA4Y0aHvDGC_g,186698
|
3
3
|
bittensor_cli/doc_generation_helper.py,sha256=GexqjEIKulWg84hpNBEchJ840oOgOi7DWpt447nsdNI,91
|
4
|
-
bittensor_cli/src/__init__.py,sha256=
|
4
|
+
bittensor_cli/src/__init__.py,sha256=CBUMVER1JwPi2bWXhpPJ4xtZqPZyvekExOS7Fv6HtAE,25531
|
5
5
|
bittensor_cli/src/bittensor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
bittensor_cli/src/bittensor/balances.py,sha256=E-niENvR7lAaoS5ZyCmwl_9M-nspnkcuIxf_dHiJIDg,11078
|
7
7
|
bittensor_cli/src/bittensor/chain_data.py,sha256=6VyuoDLaJz2QC9NJz9x2Ampi2fdqXumg6cCFfN-Vpq4,30642
|
8
8
|
bittensor_cli/src/bittensor/minigraph.py,sha256=BIzmSVLfBYiRAeGD_i1LAC8Cw7zxp38a91SIFEPMqYc,10479
|
9
9
|
bittensor_cli/src/bittensor/networking.py,sha256=pZLMs8YXpZzDMLXWMBb_Bj6TVkm_q9khyY-lnbwVMuE,462
|
10
|
-
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=
|
11
|
-
bittensor_cli/src/bittensor/utils.py,sha256=
|
10
|
+
bittensor_cli/src/bittensor/subtensor_interface.py,sha256=rwB-P0rw_h-ynO9KUNK4ODooboHpQ54RoNBKSVU9BxA,53074
|
11
|
+
bittensor_cli/src/bittensor/utils.py,sha256=q_uSvTDpgQOqWhvwi3gi7xoROSlBJ0K1ErwUenqURag,42962
|
12
12
|
bittensor_cli/src/bittensor/extrinsics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
bittensor_cli/src/bittensor/extrinsics/registration.py,sha256=OYRq6hjKzKpZuMjsVK-3O6xeV3TCOZch3VEt8hGITjo,64169
|
14
14
|
bittensor_cli/src/bittensor/extrinsics/root.py,sha256=PvAPkLqfcCRLAR_d1qu3YfKhywFZuHuUyy5h_XZzfR8,19359
|
@@ -16,17 +16,19 @@ bittensor_cli/src/bittensor/extrinsics/transfer.py,sha256=mg7hyvQX2IGVh4hkTd1u_o
|
|
16
16
|
bittensor_cli/src/bittensor/templates/table.j2,sha256=P2EFiksnO1cQsB8zjK6hVJwUryHTsLslzRE0YtobAV8,10601
|
17
17
|
bittensor_cli/src/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
18
|
bittensor_cli/src/commands/sudo.py,sha256=PTOTp0_OmWksi29k4d33qmNWZAOKAcjZyU7G3wNIdjs,26343
|
19
|
-
bittensor_cli/src/commands/wallets.py,sha256=
|
19
|
+
bittensor_cli/src/commands/wallets.py,sha256=qH0TkeSQqvowZ8uGF8qeQOgyBS-KxyegD4VK0S0BG4Q,48802
|
20
20
|
bittensor_cli/src/commands/weights.py,sha256=icJpHGLBxMUYvVUFkmPxMYuKAgBx4ELjY7f1WvX3rqg,16433
|
21
21
|
bittensor_cli/src/commands/stake/__init__.py,sha256=uxomMv_QrYt5Qn3_X5UWFFh45ISjB0JmDmCFxVyX8nQ,6495
|
22
|
+
bittensor_cli/src/commands/stake/add.py,sha256=57Dhu8B6EGlEBrsqtHJ4k_en5p_oZ1b0L1YbB0dEspw,25226
|
22
23
|
bittensor_cli/src/commands/stake/children_hotkeys.py,sha256=k8XxWuoUVTaDi6PtrHwnVqc0gs9sGbrogP5XpCVbK7E,29745
|
23
|
-
bittensor_cli/src/commands/stake/
|
24
|
-
bittensor_cli/src/commands/stake/
|
24
|
+
bittensor_cli/src/commands/stake/list.py,sha256=Z5pB5YlSLfY0QWR4ZWd-IWXbQRWy09FBK6iHsodWntk,29797
|
25
|
+
bittensor_cli/src/commands/stake/move.py,sha256=YEXz5BfhAaQUJYyG11qnhXvFsSmz6ZJ6U4CWLHey4AE,37466
|
26
|
+
bittensor_cli/src/commands/stake/remove.py,sha256=T8poiXia_9hexiVXdi7YG6SzicoEt2sIybN2SIFDyP4,43393
|
25
27
|
bittensor_cli/src/commands/subnets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
28
|
bittensor_cli/src/commands/subnets/price.py,sha256=TWcRXUFeS_Q-pfyv0YIluAL8SE7d2gzTODK-9M2J5pw,29878
|
27
|
-
bittensor_cli/src/commands/subnets/subnets.py,sha256=
|
28
|
-
bittensor_cli-9.0.
|
29
|
-
bittensor_cli-9.0.
|
30
|
-
bittensor_cli-9.0.
|
31
|
-
bittensor_cli-9.0.
|
32
|
-
bittensor_cli-9.0.
|
29
|
+
bittensor_cli/src/commands/subnets/subnets.py,sha256=ydCKUvmEwJK3hVns4QaV_Cw4sZTajrQk0CVGs_ynBcM,79805
|
30
|
+
bittensor_cli-9.0.0rc4.dist-info/METADATA,sha256=j_Ocs-LAFHWU_LhNEkSN6ZET6LHuHQVpX_LdOQ4cqm0,6862
|
31
|
+
bittensor_cli-9.0.0rc4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
32
|
+
bittensor_cli-9.0.0rc4.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
33
|
+
bittensor_cli-9.0.0rc4.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
34
|
+
bittensor_cli-9.0.0rc4.dist-info/RECORD,,
|