bittensor-cli 8.2.0rc12__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.
- bittensor_cli/__init__.py +1 -1
- bittensor_cli/cli.py +406 -26
- bittensor_cli/src/__init__.py +1 -0
- bittensor_cli/src/bittensor/balances.py +29 -1
- bittensor_cli/src/bittensor/chain_data.py +13 -2
- bittensor_cli/src/bittensor/subtensor_interface.py +63 -77
- bittensor_cli/src/bittensor/utils.py +25 -5
- bittensor_cli/src/commands/stake/move.py +992 -0
- bittensor_cli/src/commands/stake/stake.py +20 -1134
- bittensor_cli/src/commands/subnets/__init__.py +0 -0
- bittensor_cli/src/commands/subnets/price.py +867 -0
- bittensor_cli/src/commands/{subnets.py → subnets/subnets.py} +13 -122
- bittensor_cli/src/commands/sudo.py +1 -2
- bittensor_cli/src/commands/wallets.py +9 -59
- {bittensor_cli-8.2.0rc12.dist-info → bittensor_cli-8.2.0rc14.dist-info}/METADATA +3 -1
- bittensor_cli-8.2.0rc14.dist-info/RECORD +33 -0
- bittensor_cli-8.2.0rc12.dist-info/RECORD +0 -30
- {bittensor_cli-8.2.0rc12.dist-info → bittensor_cli-8.2.0rc14.dist-info}/WHEEL +0 -0
- {bittensor_cli-8.2.0rc12.dist-info → bittensor_cli-8.2.0rc14.dist-info}/entry_points.txt +0 -0
- {bittensor_cli-8.2.0rc12.dist-info → bittensor_cli-8.2.0rc14.dist-info}/top_level.txt +0 -0
@@ -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
|
-
|
121
|
-
|
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.
|
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.
|
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
|
-
|
1027
|
+
subnet_info,
|
1023
1028
|
hex_bytes_result,
|
1024
1029
|
identities,
|
1025
1030
|
old_identities,
|
1026
1031
|
) = await asyncio.gather(
|
1027
|
-
subtensor.
|
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,116 +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
|
-
prices = []
|
2088
|
-
for subnet_info in subnet_infos:
|
2089
|
-
prices.append(subnet_info.price.tao)
|
2090
|
-
|
2091
|
-
if not prices:
|
2092
|
-
err_console.print(f"[red]No price data found for subnet {netuid}[/red]")
|
2093
|
-
return
|
2094
|
-
|
2095
|
-
fig = plotille.Figure()
|
2096
|
-
fig.width = 60
|
2097
|
-
fig.height = 20
|
2098
|
-
fig.color_mode = "rgb"
|
2099
|
-
fig.background = None
|
2100
|
-
|
2101
|
-
block_numbers = list(range(current_block - total_blocks, current_block + 1, step))
|
2102
|
-
|
2103
|
-
def color_label(text):
|
2104
|
-
return plotille.color(text, fg=(186, 233, 143), mode="rgb") # Green
|
2105
|
-
|
2106
|
-
fig.x_label = color_label("Block")
|
2107
|
-
fig.y_label = color_label(f"Price ({Balance.get_unit(netuid)})")
|
2108
|
-
|
2109
|
-
fig.set_x_limits(min_=min(block_numbers), max_=max(block_numbers))
|
2110
|
-
fig.set_y_limits(min_=min(prices) * 0.95, max_=max(prices) * 1.05)
|
2111
|
-
|
2112
|
-
fig.plot(
|
2113
|
-
block_numbers,
|
2114
|
-
prices,
|
2115
|
-
label=f"Subnet {netuid} Price",
|
2116
|
-
interp="linear",
|
2117
|
-
lc="bae98f", # Green hex
|
2118
|
-
)
|
2119
|
-
|
2120
|
-
subnet = subnet_infos[-1]
|
2121
|
-
console.print(
|
2122
|
-
f"\n[{COLOR_PALETTE['GENERAL']['SYMBOL']}]Subnet {netuid} - {subnet.symbol} [cyan]{get_subnet_name(subnet)}"
|
2123
|
-
)
|
2124
|
-
console.print(
|
2125
|
-
f"Current: [blue]{prices[-1]:.6f}{Balance.get_unit(netuid)}"
|
2126
|
-
if netuid != 0
|
2127
|
-
else f"Current: [blue]{Balance.get_unit(netuid)} {prices[-1]:.6f}"
|
2128
|
-
)
|
2129
|
-
console.print(
|
2130
|
-
f"{interval_hours}h High: [dark_sea_green3]{max(prices):.6f}{Balance.get_unit(netuid)}"
|
2131
|
-
if netuid != 0
|
2132
|
-
else f"{interval_hours}h High: [dark_sea_green3]{Balance.get_unit(netuid)} {max(prices):.6f}"
|
2133
|
-
)
|
2134
|
-
console.print(
|
2135
|
-
f"{interval_hours}h Low: [red]{min(prices):.6f}{Balance.get_unit(netuid)}"
|
2136
|
-
if netuid != 0
|
2137
|
-
else f"{interval_hours}h Low: [red]{Balance.get_unit(netuid)} {min(prices):.6f}"
|
2138
|
-
)
|
2139
|
-
|
2140
|
-
change_color = "dark_sea_green3" if prices[-1] > prices[0] else "red"
|
2141
|
-
console.print(
|
2142
|
-
f"{interval_hours}h Change: "
|
2143
|
-
f"[{change_color}]{((prices[-1] - prices[0]) / prices[0] * 100):.2f}%\n"
|
2144
|
-
)
|
2145
|
-
print(fig.show())
|
2146
|
-
console.print("\nLatest stats:")
|
2147
|
-
console.print(
|
2148
|
-
f"Supply: [{COLOR_PALETTE['POOLS']['ALPHA_IN']}]{subnet.alpha_in.tao + subnet.alpha_out.tao:,.2f} {Balance.get_unit(netuid)}"
|
2149
|
-
if netuid != 0
|
2150
|
-
else f"Supply: [{COLOR_PALETTE['POOLS']['ALPHA_IN']}]{Balance.get_unit(netuid)} {subnet.alpha_in.tao + subnet.alpha_out.tao:,.2f}"
|
2151
|
-
)
|
2152
|
-
console.print(
|
2153
|
-
f"Market Cap: [steel_blue3]{subnet.price.tao * (subnet.alpha_in.tao + subnet.alpha_out.tao):,.2f} {Balance.get_unit(netuid)} / 21M"
|
2154
|
-
if netuid != 0
|
2155
|
-
else f"Market Cap: [steel_blue3]{Balance.get_unit(netuid)} {subnet.price.tao * (subnet.alpha_in.tao + subnet.alpha_out.tao):,.2f} / 21M"
|
2156
|
-
)
|
2157
|
-
console.print(
|
2158
|
-
f"Emission: [{COLOR_PALETTE['POOLS']['EMISSION']}]{subnet.emission.tao:,.2f} {Balance.get_unit(netuid)}"
|
2159
|
-
if netuid != 0
|
2160
|
-
else f"Emission: [{COLOR_PALETTE['POOLS']['EMISSION']}]{Balance.get_unit(netuid)} {subnet.emission.tao:,.2f}"
|
2161
|
-
)
|
2162
|
-
console.print(
|
2163
|
-
f"Stake: [{COLOR_PALETTE['STAKE']['TAO']}]{subnet.alpha_out.tao:,.2f} {Balance.get_unit(netuid)}"
|
2164
|
-
if netuid != 0
|
2165
|
-
else f"Stake: [{COLOR_PALETTE['STAKE']['TAO']}]{Balance.get_unit(netuid)} {subnet.alpha_out.tao:,.2f}"
|
2166
|
-
)
|
@@ -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
|
-
|
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,
|
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(
|
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(
|
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(
|
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(
|
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.
|
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.
|
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=J1bstX_bUtHS_XqjhnvjuVkHK7jpFEVEXuA7pUkuQTE,1221
|
2
|
-
bittensor_cli/cli.py,sha256=knLDIvBJSDrgLbfb32ToKOJWZdFpsi-bv2WuN-jCFpA,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=dFr_e__Y21OBafVCTUtaLa0CgutcPofPVW2RqSH3_gQ,85088
|
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.0rc12.dist-info/METADATA,sha256=wS2N_2Ypkd6i0SZ36R_zK3kL1b1rR8tA5LCwIEBsveY,6842
|
27
|
-
bittensor_cli-8.2.0rc12.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
28
|
-
bittensor_cli-8.2.0rc12.dist-info/entry_points.txt,sha256=hBTLGLbVxmAKy69XSKaUZvjTCmyEzDGZKq4S8UOto8I,49
|
29
|
-
bittensor_cli-8.2.0rc12.dist-info/top_level.txt,sha256=DvgvXpmTtI_Q1BbDZMlK90LFcGFCreN1daViEPV2iFw,14
|
30
|
-
bittensor_cli-8.2.0rc12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|