meshtensor-cli 9.25.0__tar.gz → 9.26.0__tar.gz

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.
Files changed (87) hide show
  1. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/PKG-INFO +1 -1
  2. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/cli.py +15 -381
  3. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/__init__.py +44 -44
  4. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/chain_data.py +2 -2
  5. meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor/meshtensor_interface.py → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor/subtensor_interface.py +4 -4
  6. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/utils.py +2 -2
  7. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/governance/governance.py +12 -687
  8. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/move.py +1 -1
  9. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/subnets/subnets.py +4 -1
  10. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/sudo.py +3 -3
  11. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/wallets.py +2 -2
  12. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/__init__.py +1 -0
  13. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/balances.py +1 -0
  14. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/chain_data.py +1 -0
  15. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/__init__.py +1 -0
  16. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/mev_shield.py +1 -0
  17. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/registration.py +1 -0
  18. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/root.py +1 -0
  19. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/serving.py +1 -0
  20. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/extrinsics/transfer.py +1 -0
  21. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/meshtensor_interface.py +1 -0
  22. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/minigraph.py +1 -0
  23. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/networking.py +1 -0
  24. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/subtensor_interface.py +1 -0
  25. meshtensor_cli-9.26.0/meshtensor_cli/src/meshtensor/utils.py +1 -0
  26. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/pyproject.toml +1 -1
  27. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/README.md +0 -0
  28. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/__init__.py +0 -0
  29. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/doc_generation_helper.py +0 -0
  30. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/__init__.py +0 -0
  31. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/balances.py +0 -0
  32. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/axon → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor/extrinsics}/__init__.py +0 -0
  33. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/extrinsics/mev_shield.py +0 -0
  34. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/extrinsics/registration.py +0 -0
  35. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/extrinsics/root.py +0 -0
  36. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/extrinsics/serving.py +0 -0
  37. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/extrinsics/transfer.py +0 -0
  38. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/minigraph.py +0 -0
  39. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/networking.py +0 -0
  40. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/main-filters.j2 +0 -0
  41. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/main-header.j2 +0 -0
  42. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/neuron-details.j2 +0 -0
  43. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/price-multi.j2 +0 -0
  44. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/price-single.j2 +0 -0
  45. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/subnet-details-header.j2 +0 -0
  46. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/subnet-details.j2 +0 -0
  47. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/subnet-metrics.j2 +0 -0
  48. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/subnets-table.j2 +0 -0
  49. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/table.j2 +0 -0
  50. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/view.css +0 -0
  51. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/view.j2 +0 -0
  52. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/bittensor}/templates/view.js +0 -0
  53. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/crowd → meshtensor_cli-9.26.0/meshtensor_cli/src/commands}/__init__.py +0 -0
  54. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/governance → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/axon}/__init__.py +0 -0
  55. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/axon/axon.py +0 -0
  56. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/liquidity → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/crowd}/__init__.py +0 -0
  57. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/contribute.py +0 -0
  58. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/contributors.py +0 -0
  59. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/create.py +0 -0
  60. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/dissolve.py +0 -0
  61. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/refund.py +0 -0
  62. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/update.py +0 -0
  63. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/utils.py +0 -0
  64. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/crowd/view.py +0 -0
  65. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/stake → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/governance}/__init__.py +0 -0
  66. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/subnets → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/liquidity}/__init__.py +0 -0
  67. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/liquidity/liquidity.py +0 -0
  68. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/liquidity/utils.py +0 -0
  69. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/proxy.py +0 -0
  70. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/tc → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/stake}/__init__.py +0 -0
  71. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/add.py +0 -0
  72. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/auto_staking.py +0 -0
  73. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/children_hotkeys.py +0 -0
  74. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/claim.py +0 -0
  75. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/list.py +0 -0
  76. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/remove.py +0 -0
  77. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/stake/wizard.py +0 -0
  78. {meshtensor_cli-9.25.0/meshtensor_cli/src/commands/treasury → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/subnets}/__init__.py +0 -0
  79. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/subnets/mechanisms.py +0 -0
  80. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/subnets/price.py +0 -0
  81. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/tc}/__init__.py +0 -0
  82. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/tc/tc.py +0 -0
  83. {meshtensor_cli-9.25.0/meshtensor_cli/src/meshtensor/extrinsics → meshtensor_cli-9.26.0/meshtensor_cli/src/commands/treasury}/__init__.py +0 -0
  84. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/treasury/treasury.py +0 -0
  85. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/view.py +0 -0
  86. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/src/commands/weights.py +0 -0
  87. {meshtensor_cli-9.25.0 → meshtensor_cli-9.26.0}/meshtensor_cli/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshtensor-cli
3
- Version: 9.25.0
3
+ Version: 9.26.0
4
4
  Summary: Meshtensor CLI
5
5
  Author: meshtensor.com
6
6
  Requires-Python: >=3.9
@@ -125,7 +125,7 @@ except ImportError:
125
125
 
126
126
 
127
127
  logger = logging.getLogger("meshcli")
128
- _epilog = "Made with [bold red]:heart:[/bold red] by The Openτensor Foundaτion"
128
+ _epilog = "Made with [bold red]:heart:[/bold red] by Grobb"
129
129
 
130
130
  np.set_printoptions(precision=8, suppress=True, floatmode="fixed")
131
131
 
@@ -288,7 +288,7 @@ class Options:
288
288
  "--meshtensor.network",
289
289
  "--chain",
290
290
  "--meshtensor.chain_endpoint",
291
- help="The meshtensor network to connect to. Default: swarm.",
291
+ help="The meshtensor network to connect to. Default: finney.",
292
292
  show_default=False,
293
293
  )
294
294
  netuids = typer.Option(
@@ -1432,18 +1432,6 @@ class CLIManager:
1432
1432
  self.governance_app.command("signal-golr")(self.governance_signal_golr)
1433
1433
  self.governance_app.command("update-scores")(self.governance_update_scores)
1434
1434
  self.governance_app.command("distribute-rewards")(self.governance_distribute_rewards)
1435
- self.governance_app.command("claim-rewards")(self.governance_claim_rewards)
1436
- self.governance_app.command("submit-preimage")(self.governance_submit_preimage)
1437
- self.governance_app.command("set-track-coefficients")(self.governance_set_track_coefficients)
1438
- self.governance_app.command("set-config")(self.governance_set_config)
1439
- self.governance_app.command("set-golr-config")(self.governance_set_golr_config)
1440
- self.governance_app.command("prune-accounts")(self.governance_prune_accounts)
1441
- self.governance_app.command("endorse")(self.governance_endorse)
1442
- self.governance_app.command("cancel")(self.governance_cancel)
1443
- self.governance_app.command("approve-treasury")(self.governance_approve_treasury)
1444
- self.governance_app.command("status")(self.governance_status)
1445
- self.governance_app.command("my-rewards")(self.governance_my_rewards)
1446
- self.governance_app.command("my-delegations")(self.governance_my_delegations)
1447
1435
 
1448
1436
  # Treasury commands
1449
1437
  self.treasury_app.command("propose")(self.treasury_propose)
@@ -1497,8 +1485,8 @@ class CLIManager:
1497
1485
  Intelligently initializes a connection to the chain, depending on the supplied (or in config) values. Sets the
1498
1486
  `self.meshtensor` object to this created connection.
1499
1487
 
1500
- :param network: Network name (e.g. swarm, test, etc.) or
1501
- chain endpoint (e.g. ws://127.0.0.1:9945, wss://entrypoint-swarm.opentensor.ai:443)
1488
+ :param network: Network name (e.g. finney, test, etc.) or
1489
+ chain endpoint (e.g. ws://127.0.0.1:9945, wss://entrypoint-finney.opentensor.ai:443)
1502
1490
  """
1503
1491
  with warnings.catch_warnings():
1504
1492
  warnings.filterwarnings(
@@ -1800,11 +1788,11 @@ class CLIManager:
1800
1788
  [green]$[/green] meshcli config set
1801
1789
 
1802
1790
  Set specific values:
1803
- [green]$[/green] meshcli config set --wallet-name default --network swarm
1791
+ [green]$[/green] meshcli config set --wallet-name default --network finney
1804
1792
  [green]$[/green] meshcli config set --safe-staking --rate-tolerance 0.1
1805
1793
 
1806
1794
  [bold]NOTE[/bold]:
1807
- - Network values can be network names (e.g., 'swarm', 'test') or websocket URLs
1795
+ - Network values can be network names (e.g., 'finney', 'test') or websocket URLs
1808
1796
  - Rate tolerance is specified as a decimal (e.g., 0.05 for 0.05%)
1809
1797
  - Changes are saved to ~/.meshtensor/meshcli.yaml
1810
1798
  - Use '[green]$[/green] meshcli config get' to view current settings
@@ -2031,7 +2019,7 @@ class CLIManager:
2031
2019
  for key, value in self.config.items():
2032
2020
  if key == "network":
2033
2021
  if value is None:
2034
- value = "None (default = swarm)"
2022
+ value = "None (default = finney)"
2035
2023
  else:
2036
2024
  if value in Constants.networks:
2037
2025
  value = value + f" ({Constants.network_map[value]})"
@@ -3108,7 +3096,7 @@ class CLIManager:
3108
3096
 
3109
3097
  This command is useful for users who need test tokens for operations on a local blockchain.
3110
3098
 
3111
- [blue bold]IMPORTANT[/blue bold]: THIS COMMAND IS DISABLED ON SWARM AND TESTNET.
3099
+ [blue bold]IMPORTANT[/blue bold]: THIS COMMAND IS DISABLED ON FINNEY AND TESTNET.
3112
3100
 
3113
3101
  USAGE
3114
3102
 
@@ -3119,7 +3107,7 @@ class CLIManager:
3119
3107
 
3120
3108
  [green]$[/green] meshcli wallet faucet --faucet.num_processes 4 --faucet.cuda.use_cuda
3121
3109
 
3122
- [bold]Note[/bold]: This command is meant for used in local environments where users can experiment with the blockchain without using real MESH tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (swarm). You can only use this command on a local blockchain.
3110
+ [bold]Note[/bold]: This command is meant for used in local environments where users can experiment with the blockchain without using real MESH tokens. Users must have the necessary hardware setup, especially when opting for CUDA-based GPU calculations. It is currently disabled on testnet and mainnet (finney). You can only use this command on a local blockchain.
3123
3111
  """
3124
3112
  # TODO should we add json_output?
3125
3113
  wallet = self.wallet_ask(
@@ -3909,12 +3897,12 @@ class CLIManager:
3909
3897
  [green]$[/green] meshcli wallet history
3910
3898
 
3911
3899
  """
3912
- # TODO: Fetch effective network and redirect users accordingly - this only works on swarm
3900
+ # TODO: Fetch effective network and redirect users accordingly - this only works on finney
3913
3901
  # TODO: Add json_output if this gets re-enabled
3914
- # no_use_config_str = "Using the network [dark_orange]swarm[/dark_orange] and ignoring network/chain configs"
3902
+ # no_use_config_str = "Using the network [dark_orange]finney[/dark_orange] and ignoring network/chain configs"
3915
3903
 
3916
3904
  # if self.config.get("network"):
3917
- # if self.config.get("network") != "swarm":
3905
+ # if self.config.get("network") != "finney":
3918
3906
  # console.print(no_use_config_str)
3919
3907
 
3920
3908
  # For Rao games
@@ -7537,7 +7525,7 @@ class CLIManager:
7537
7525
  )
7538
7526
 
7539
7527
  meshtensor = self.initialize_chain(network)
7540
- non_archives = ["swarm", "latent-lite"]
7528
+ non_archives = ["finney", "latent-lite"]
7541
7529
  if not current_only and meshtensor.network in non_archives + [
7542
7530
  Constants.network_map[x] for x in non_archives
7543
7531
  ]:
@@ -8179,7 +8167,7 @@ class CLIManager:
8179
8167
 
8180
8168
  EXAMPLE
8181
8169
 
8182
- Show the metagraph of the root network (netuid 0) on swarm (mainnet):
8170
+ Show the metagraph of the root network (netuid 0) on finney (mainnet):
8183
8171
 
8184
8172
  [green]$[/green] meshcli subnet metagraph --netuid 0
8185
8173
 
@@ -10145,7 +10133,7 @@ class CLIManager:
10145
10133
  ),
10146
10134
  ):
10147
10135
  """
10148
- This command will give you the latency of all swarm-like network in additional to any additional networks you specify via the '--network' flag
10136
+ This command will give you the latency of all finney-like network in additional to any additional networks you specify via the '--network' flag
10149
10137
 
10150
10138
  The results are three-fold. One column is the overall time to initialise a connection, send the requests, and wait for the results. The second column measures single ping-pong speed once connected. The third makes a real world call to fetch the chain head.
10151
10139
 
@@ -10485,11 +10473,6 @@ class CLIManager:
10485
10473
  def governance_history(
10486
10474
  self,
10487
10475
  network: Optional[list[str]] = Options.network,
10488
- limit: int = typer.Option(
10489
- 20,
10490
- "--limit",
10491
- help="Maximum number of referenda to show.",
10492
- ),
10493
10476
  quiet: bool = Options.quiet,
10494
10477
  verbose: bool = Options.verbose,
10495
10478
  json_output: bool = Options.json_output,
@@ -10499,7 +10482,6 @@ class CLIManager:
10499
10482
  return self._run_command(
10500
10483
  governance.governance_history(
10501
10484
  subtensor=self.initialize_chain(network),
10502
- limit=limit,
10503
10485
  quiet=quiet,
10504
10486
  verbose=verbose,
10505
10487
  output_json=json_output,
@@ -10581,354 +10563,6 @@ class CLIManager:
10581
10563
  )
10582
10564
  )
10583
10565
 
10584
- def governance_claim_rewards(
10585
- self,
10586
- network: Optional[list[str]] = Options.network,
10587
- wallet_name: str = Options.wallet_name,
10588
- wallet_path: str = Options.wallet_path,
10589
- quiet: bool = Options.quiet,
10590
- verbose: bool = Options.verbose,
10591
- ):
10592
- """Claim pending governance rewards from the reward pool."""
10593
- self.verbosity_handler(quiet, verbose)
10594
- wallet = self.wallet_ask(
10595
- wallet_name,
10596
- wallet_path,
10597
- ask_for=[WO.NAME, WO.PATH],
10598
- validate=WV.WALLET,
10599
- )
10600
- return self._run_command(
10601
- governance.governance_claim_rewards(
10602
- subtensor=self.initialize_chain(network),
10603
- wallet=wallet,
10604
- quiet=quiet,
10605
- verbose=verbose,
10606
- )
10607
- )
10608
-
10609
- def governance_submit_preimage(
10610
- self,
10611
- call_data: str = typer.Argument(
10612
- ...,
10613
- help="Hex-encoded SCALE bytes of the runtime call (with or without 0x prefix).",
10614
- ),
10615
- network: Optional[list[str]] = Options.network,
10616
- wallet_name: str = Options.wallet_name,
10617
- wallet_path: str = Options.wallet_path,
10618
- quiet: bool = Options.quiet,
10619
- verbose: bool = Options.verbose,
10620
- ):
10621
- """Submit a preimage of a runtime call on-chain."""
10622
- self.verbosity_handler(quiet, verbose)
10623
- wallet = self.wallet_ask(
10624
- wallet_name,
10625
- wallet_path,
10626
- ask_for=[WO.NAME, WO.PATH],
10627
- validate=WV.WALLET,
10628
- )
10629
- return self._run_command(
10630
- governance.governance_submit_preimage(
10631
- subtensor=self.initialize_chain(network),
10632
- wallet=wallet,
10633
- call_data=call_data,
10634
- quiet=quiet,
10635
- verbose=verbose,
10636
- )
10637
- )
10638
-
10639
- def governance_set_track_coefficients(
10640
- self,
10641
- track_id: int = typer.Option(
10642
- ..., "--track", help="Governance track ID (0-5)."
10643
- ),
10644
- alpha: int = typer.Option(
10645
- ..., "--alpha", help="Quadratic stake weight (0-1000)."
10646
- ),
10647
- beta: int = typer.Option(
10648
- ..., "--beta", help="Contribution weight (0-1000)."
10649
- ),
10650
- gamma: int = typer.Option(
10651
- ..., "--gamma", help="Reserved/future weight (0-1000)."
10652
- ),
10653
- network: Optional[list[str]] = Options.network,
10654
- wallet_name: str = Options.wallet_name,
10655
- wallet_path: str = Options.wallet_path,
10656
- quiet: bool = Options.quiet,
10657
- verbose: bool = Options.verbose,
10658
- ):
10659
- """Update VP formula coefficients for a governance track (Root-only)."""
10660
- self.verbosity_handler(quiet, verbose)
10661
- wallet = self.wallet_ask(
10662
- wallet_name,
10663
- wallet_path,
10664
- ask_for=[WO.NAME, WO.PATH],
10665
- validate=WV.WALLET,
10666
- )
10667
- return self._run_command(
10668
- governance.governance_set_track_coefficients(
10669
- subtensor=self.initialize_chain(network),
10670
- wallet=wallet,
10671
- track_id=track_id,
10672
- alpha=alpha,
10673
- beta=beta,
10674
- gamma=gamma,
10675
- quiet=quiet,
10676
- verbose=verbose,
10677
- )
10678
- )
10679
-
10680
- def governance_set_config(
10681
- self,
10682
- min_contribution_floor: int = typer.Option(
10683
- ..., "--min-contribution-floor", help="Minimum CW floor (0-1000, default 150)."
10684
- ),
10685
- max_delegation_pct: int = typer.Option(
10686
- ..., "--max-delegation-pct", help="Max delegated VP per delegatee (0-1000, default 50)."
10687
- ),
10688
- delegation_factor: int = typer.Option(
10689
- ..., "--delegation-factor", help="Delegation decay factor (0-1000, default 900)."
10690
- ),
10691
- network: Optional[list[str]] = Options.network,
10692
- wallet_name: str = Options.wallet_name,
10693
- wallet_path: str = Options.wallet_path,
10694
- quiet: bool = Options.quiet,
10695
- verbose: bool = Options.verbose,
10696
- ):
10697
- """Update core governance configuration parameters (Root-only)."""
10698
- self.verbosity_handler(quiet, verbose)
10699
- wallet = self.wallet_ask(
10700
- wallet_name,
10701
- wallet_path,
10702
- ask_for=[WO.NAME, WO.PATH],
10703
- validate=WV.WALLET,
10704
- )
10705
- return self._run_command(
10706
- governance.governance_set_config(
10707
- subtensor=self.initialize_chain(network),
10708
- wallet=wallet,
10709
- min_contribution_floor=min_contribution_floor,
10710
- max_delegation_pct=max_delegation_pct,
10711
- delegation_factor=delegation_factor,
10712
- quiet=quiet,
10713
- verbose=verbose,
10714
- )
10715
- )
10716
-
10717
- def governance_set_golr_config(
10718
- self,
10719
- paralysis_days: int = typer.Option(
10720
- ..., "--paralysis-days", help="Days of inactivity before GoLR (min 30)."
10721
- ),
10722
- threshold_pct: int = typer.Option(
10723
- ..., "--threshold-pct", help="Validator supermajority percentage (0-100)."
10724
- ),
10725
- network: Optional[list[str]] = Options.network,
10726
- wallet_name: str = Options.wallet_name,
10727
- wallet_path: str = Options.wallet_path,
10728
- quiet: bool = Options.quiet,
10729
- verbose: bool = Options.verbose,
10730
- ):
10731
- """Update GoLR (Governance of Last Resort) parameters (Root-only)."""
10732
- self.verbosity_handler(quiet, verbose)
10733
- wallet = self.wallet_ask(
10734
- wallet_name,
10735
- wallet_path,
10736
- ask_for=[WO.NAME, WO.PATH],
10737
- validate=WV.WALLET,
10738
- )
10739
- return self._run_command(
10740
- governance.governance_set_golr_config(
10741
- subtensor=self.initialize_chain(network),
10742
- wallet=wallet,
10743
- paralysis_days=paralysis_days,
10744
- threshold_pct=threshold_pct,
10745
- quiet=quiet,
10746
- verbose=verbose,
10747
- )
10748
- )
10749
-
10750
- def governance_prune_accounts(
10751
- self,
10752
- accounts: list[str] = typer.Option(
10753
- ..., "--accounts", help="SS58 addresses to prune (max 500)."
10754
- ),
10755
- network: Optional[list[str]] = Options.network,
10756
- wallet_name: str = Options.wallet_name,
10757
- wallet_path: str = Options.wallet_path,
10758
- quiet: bool = Options.quiet,
10759
- verbose: bool = Options.verbose,
10760
- ):
10761
- """Prune governance storage for zero-balance accounts (Root-only)."""
10762
- self.verbosity_handler(quiet, verbose)
10763
- wallet = self.wallet_ask(
10764
- wallet_name,
10765
- wallet_path,
10766
- ask_for=[WO.NAME, WO.PATH],
10767
- validate=WV.WALLET,
10768
- )
10769
- return self._run_command(
10770
- governance.governance_prune_accounts(
10771
- subtensor=self.initialize_chain(network),
10772
- wallet=wallet,
10773
- accounts=accounts,
10774
- quiet=quiet,
10775
- verbose=verbose,
10776
- )
10777
- )
10778
-
10779
- def governance_endorse(
10780
- self,
10781
- ref_index: int = typer.Option(
10782
- ..., "--ref-index", help="Referendum index to endorse."
10783
- ),
10784
- network: Optional[list[str]] = Options.network,
10785
- wallet_name: str = Options.wallet_name,
10786
- wallet_path: str = Options.wallet_path,
10787
- quiet: bool = Options.quiet,
10788
- verbose: bool = Options.verbose,
10789
- ):
10790
- """Endorse a referendum as a Technical Committee member."""
10791
- self.verbosity_handler(quiet, verbose)
10792
- wallet = self.wallet_ask(
10793
- wallet_name,
10794
- wallet_path,
10795
- ask_for=[WO.NAME, WO.PATH],
10796
- validate=WV.WALLET,
10797
- )
10798
- return self._run_command(
10799
- governance.governance_endorse(
10800
- subtensor=self.initialize_chain(network),
10801
- wallet=wallet,
10802
- ref_index=ref_index,
10803
- quiet=quiet,
10804
- verbose=verbose,
10805
- )
10806
- )
10807
-
10808
- def governance_cancel(
10809
- self,
10810
- ref_index: int = typer.Option(
10811
- ..., "--ref-index", help="Referendum index to cancel."
10812
- ),
10813
- network: Optional[list[str]] = Options.network,
10814
- wallet_name: str = Options.wallet_name,
10815
- wallet_path: str = Options.wallet_path,
10816
- quiet: bool = Options.quiet,
10817
- verbose: bool = Options.verbose,
10818
- ):
10819
- """Cancel an active referendum (requires root origin)."""
10820
- self.verbosity_handler(quiet, verbose)
10821
- wallet = self.wallet_ask(
10822
- wallet_name,
10823
- wallet_path,
10824
- ask_for=[WO.NAME, WO.PATH],
10825
- validate=WV.WALLET,
10826
- )
10827
- return self._run_command(
10828
- governance.governance_cancel(
10829
- subtensor=self.initialize_chain(network),
10830
- wallet=wallet,
10831
- ref_index=ref_index,
10832
- quiet=quiet,
10833
- verbose=verbose,
10834
- )
10835
- )
10836
-
10837
- def governance_approve_treasury(
10838
- self,
10839
- proposal_id: int = typer.Option(
10840
- ..., "--proposal-id", help="Treasury proposal ID to approve."
10841
- ),
10842
- network: Optional[list[str]] = Options.network,
10843
- wallet_name: str = Options.wallet_name,
10844
- wallet_path: str = Options.wallet_path,
10845
- quiet: bool = Options.quiet,
10846
- verbose: bool = Options.verbose,
10847
- ):
10848
- """Approve a treasury proposal (requires root origin)."""
10849
- self.verbosity_handler(quiet, verbose)
10850
- wallet = self.wallet_ask(
10851
- wallet_name,
10852
- wallet_path,
10853
- ask_for=[WO.NAME, WO.PATH],
10854
- validate=WV.WALLET,
10855
- )
10856
- return self._run_command(
10857
- governance.governance_approve_treasury(
10858
- subtensor=self.initialize_chain(network),
10859
- wallet=wallet,
10860
- proposal_id=proposal_id,
10861
- quiet=quiet,
10862
- verbose=verbose,
10863
- )
10864
- )
10865
-
10866
- def governance_status(
10867
- self,
10868
- network: Optional[list[str]] = Options.network,
10869
- quiet: bool = Options.quiet,
10870
- verbose: bool = Options.verbose,
10871
- ):
10872
- """Display governance system status overview."""
10873
- self.verbosity_handler(quiet, verbose)
10874
- return self._run_command(
10875
- governance.governance_status(
10876
- subtensor=self.initialize_chain(network),
10877
- quiet=quiet,
10878
- verbose=verbose,
10879
- )
10880
- )
10881
-
10882
- def governance_my_rewards(
10883
- self,
10884
- network: Optional[list[str]] = Options.network,
10885
- wallet_name: str = Options.wallet_name,
10886
- wallet_path: str = Options.wallet_path,
10887
- quiet: bool = Options.quiet,
10888
- verbose: bool = Options.verbose,
10889
- ):
10890
- """Display governance rewards and contribution score for your wallet."""
10891
- self.verbosity_handler(quiet, verbose)
10892
- wallet = self.wallet_ask(
10893
- wallet_name,
10894
- wallet_path,
10895
- ask_for=[WO.NAME, WO.PATH],
10896
- validate=WV.WALLET,
10897
- )
10898
- return self._run_command(
10899
- governance.governance_my_rewards(
10900
- subtensor=self.initialize_chain(network),
10901
- wallet=wallet,
10902
- quiet=quiet,
10903
- verbose=verbose,
10904
- )
10905
- )
10906
-
10907
- def governance_my_delegations(
10908
- self,
10909
- network: Optional[list[str]] = Options.network,
10910
- wallet_name: str = Options.wallet_name,
10911
- wallet_path: str = Options.wallet_path,
10912
- quiet: bool = Options.quiet,
10913
- verbose: bool = Options.verbose,
10914
- ):
10915
- """Display active governance delegations for your wallet."""
10916
- self.verbosity_handler(quiet, verbose)
10917
- wallet = self.wallet_ask(
10918
- wallet_name,
10919
- wallet_path,
10920
- ask_for=[WO.NAME, WO.PATH],
10921
- validate=WV.WALLET,
10922
- )
10923
- return self._run_command(
10924
- governance.governance_my_delegations(
10925
- subtensor=self.initialize_chain(network),
10926
- wallet=wallet,
10927
- quiet=quiet,
10928
- verbose=verbose,
10929
- )
10930
- )
10931
-
10932
10566
  # =========================================================================
10933
10567
  # Treasury commands
10934
10568
  # =========================================================================
@@ -6,24 +6,24 @@ from typing import Any, Optional
6
6
  class Constants:
7
7
  networks = [
8
8
  "local",
9
- "swarm",
9
+ "finney",
10
10
  "test",
11
11
  "archive",
12
12
  "meshlet",
13
13
  "dev",
14
14
  "latent-lite",
15
15
  ]
16
- swarm_entrypoint = "wss://entrypoint-swarm.opentensor.ai:443"
17
- swarm_test_entrypoint = "wss://test.swarm.opentensor.ai:443"
16
+ finney_entrypoint = "wss://entrypoint-finney.opentensor.ai:443"
17
+ finney_test_entrypoint = "wss://test.finney.opentensor.ai:443"
18
18
  archive_entrypoint = "wss://archive.chain.opentensor.ai:443"
19
19
  local_entrypoint = "ws://127.0.0.1:9944"
20
20
  meshlet_entrypoint = "wss://meshlet.chain.opentensor.ai:443"
21
21
  dev_entrypoint = "wss://dev.chain.opentensor.ai:443"
22
22
  latent_lite_entrypoint = "wss://lite.sub.latent.to:443"
23
- lite_nodes = [swarm_entrypoint, latent_lite_entrypoint]
23
+ lite_nodes = [finney_entrypoint, latent_lite_entrypoint]
24
24
  network_map = {
25
- "swarm": swarm_entrypoint,
26
- "test": swarm_test_entrypoint,
25
+ "finney": finney_entrypoint,
26
+ "test": finney_test_entrypoint,
27
27
  "archive": archive_entrypoint,
28
28
  "local": local_entrypoint,
29
29
  "dev": dev_entrypoint,
@@ -31,7 +31,7 @@ class Constants:
31
31
  "latent-lite": latent_lite_entrypoint,
32
32
  }
33
33
  genesis_block_hash_map = {
34
- "swarm": "0x2f0555cc76fc2840a25a6ea3b9637146806f1f44b090c175ffde2a7e5ab36c03",
34
+ "finney": "0x2f0555cc76fc2840a25a6ea3b9637146806f1f44b090c175ffde2a7e5ab36c03",
35
35
  "test": "0x8f9cf856bf558a14440e75569c9e58594757048d7b3a84b5d25f6bd978263105",
36
36
  }
37
37
  delegates_detail_url = "https://raw.githubusercontent.com/opentensor/meshtensor-delegates/main/public/delegates.json"
@@ -120,7 +120,7 @@ class Defaults:
120
120
  dictionary = {}
121
121
 
122
122
  class meshtensor:
123
- network = "swarm"
123
+ network = "finney"
124
124
  chain_endpoint = None
125
125
  _mock = False
126
126
 
@@ -615,14 +615,14 @@ UNITS = [
615
615
 
616
616
  NETWORK_EXPLORER_MAP = {
617
617
  "opentensor": {
618
- "local": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-swarm.opentensor.ai%3A443#/explorer",
619
- "endpoint": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-swarm.opentensor.ai%3A443#/explorer",
620
- "swarm": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-swarm.opentensor.ai%3A443#/explorer",
618
+ "local": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer",
619
+ "endpoint": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer",
620
+ "finney": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fentrypoint-finney.opentensor.ai%3A443#/explorer",
621
621
  },
622
622
  "taostats": {
623
623
  "local": "https://x.taostats.io",
624
624
  "endpoint": "https://x.taostats.io",
625
- "swarm": "https://x.taostats.io",
625
+ "finney": "https://x.taostats.io",
626
626
  },
627
627
  }
628
628
 
@@ -635,54 +635,54 @@ class RootSudoOnly(Enum):
635
635
 
636
636
  HYPERPARAMS = {
637
637
  # meshcli name: (meshtensor method, root-only enum)
638
- "rho": ("sudo_set_rho", RootSudoOnly.FALSE),
639
- "kappa": ("sudo_set_kappa", RootSudoOnly.TRUE),
640
- "immunity_period": ("sudo_set_immunity_period", RootSudoOnly.FALSE),
641
- "min_allowed_weights": ("sudo_set_min_allowed_weights", RootSudoOnly.FALSE),
642
- "max_weights_limit": ("sudo_set_max_weight_limit", RootSudoOnly.FALSE),
643
- "tempo": ("sudo_set_tempo", RootSudoOnly.TRUE),
644
- "min_difficulty": ("sudo_set_min_difficulty", RootSudoOnly.TRUE),
645
- "max_difficulty": ("sudo_set_max_difficulty", RootSudoOnly.FALSE),
646
- "weights_version": ("sudo_set_weights_version_key", RootSudoOnly.FALSE),
647
- "weights_rate_limit": ("sudo_set_weights_set_rate_limit", RootSudoOnly.TRUE),
648
- "adjustment_interval": ("sudo_set_adjustment_interval", RootSudoOnly.TRUE),
649
- "activity_cutoff": ("sudo_set_activity_cutoff", RootSudoOnly.FALSE),
638
+ "rho": ("set_rho", RootSudoOnly.FALSE),
639
+ "kappa": ("set_kappa", RootSudoOnly.TRUE),
640
+ "immunity_period": ("set_immunity_period", RootSudoOnly.FALSE),
641
+ "min_allowed_weights": ("set_min_allowed_weights", RootSudoOnly.FALSE),
642
+ "max_weights_limit": ("set_max_weight_limit", RootSudoOnly.FALSE),
643
+ "tempo": ("set_tempo", RootSudoOnly.TRUE),
644
+ "min_difficulty": ("set_min_difficulty", RootSudoOnly.TRUE),
645
+ "max_difficulty": ("set_max_difficulty", RootSudoOnly.FALSE),
646
+ "weights_version": ("set_weights_version_key", RootSudoOnly.FALSE),
647
+ "weights_rate_limit": ("set_weights_set_rate_limit", RootSudoOnly.TRUE),
648
+ "adjustment_interval": ("set_adjustment_interval", RootSudoOnly.TRUE),
649
+ "activity_cutoff": ("set_activity_cutoff", RootSudoOnly.FALSE),
650
650
  "target_regs_per_interval": (
651
- "sudo_set_target_registrations_per_interval",
651
+ "set_target_registrations_per_interval",
652
652
  RootSudoOnly.TRUE,
653
653
  ),
654
- "min_burn": ("sudo_set_min_burn", RootSudoOnly.FALSE),
655
- "max_burn": ("sudo_set_max_burn", RootSudoOnly.TRUE),
656
- "bonds_moving_avg": ("sudo_set_bonds_moving_average", RootSudoOnly.FALSE),
657
- "max_regs_per_block": ("sudo_set_max_registrations_per_block", RootSudoOnly.TRUE),
658
- "serving_rate_limit": ("sudo_set_serving_rate_limit", RootSudoOnly.FALSE),
659
- "max_validators": ("sudo_set_max_allowed_validators", RootSudoOnly.TRUE),
660
- "adjustment_alpha": ("sudo_set_adjustment_alpha", RootSudoOnly.FALSE),
661
- "difficulty": ("sudo_set_difficulty", RootSudoOnly.TRUE),
654
+ "min_burn": ("set_min_burn", RootSudoOnly.FALSE),
655
+ "max_burn": ("set_max_burn", RootSudoOnly.TRUE),
656
+ "bonds_moving_avg": ("set_bonds_moving_average", RootSudoOnly.FALSE),
657
+ "max_regs_per_block": ("set_max_registrations_per_block", RootSudoOnly.TRUE),
658
+ "serving_rate_limit": ("set_serving_rate_limit", RootSudoOnly.FALSE),
659
+ "max_validators": ("set_max_allowed_validators", RootSudoOnly.TRUE),
660
+ "adjustment_alpha": ("set_adjustment_alpha", RootSudoOnly.FALSE),
661
+ "difficulty": ("set_difficulty", RootSudoOnly.TRUE),
662
662
  "commit_reveal_period": (
663
- "sudo_set_commit_reveal_weights_interval",
663
+ "set_commit_reveal_weights_interval",
664
664
  RootSudoOnly.FALSE,
665
665
  ),
666
666
  "commit_reveal_weights_enabled": (
667
- "sudo_set_commit_reveal_weights_enabled",
667
+ "set_commit_reveal_weights_enabled",
668
668
  RootSudoOnly.FALSE,
669
669
  ),
670
- "alpha_values": ("sudo_set_alpha_values", RootSudoOnly.FALSE),
671
- "liquid_alpha_enabled": ("sudo_set_liquid_alpha_enabled", RootSudoOnly.FALSE),
670
+ "alpha_values": ("set_alpha_values", RootSudoOnly.FALSE),
671
+ "liquid_alpha_enabled": ("set_liquid_alpha_enabled", RootSudoOnly.FALSE),
672
672
  "registration_allowed": (
673
- "sudo_set_network_registration_allowed",
673
+ "set_network_registration_allowed",
674
674
  RootSudoOnly.TRUE,
675
675
  ),
676
676
  "network_pow_registration_allowed": (
677
- "sudo_set_network_pow_registration_allowed",
677
+ "set_network_pow_registration_allowed",
678
678
  RootSudoOnly.FALSE,
679
679
  ),
680
- "yuma3_enabled": ("sudo_set_yuma3_enabled", RootSudoOnly.FALSE),
681
- "alpha_sigmoid_steepness": ("sudo_set_alpha_sigmoid_steepness", RootSudoOnly.TRUE),
680
+ "yuma3_enabled": ("set_yuma3_enabled", RootSudoOnly.FALSE),
681
+ "alpha_sigmoid_steepness": ("set_alpha_sigmoid_steepness", RootSudoOnly.TRUE),
682
682
  "user_liquidity_enabled": ("toggle_user_liquidity", RootSudoOnly.COMPLICATED),
683
- "bonds_reset_enabled": ("sudo_set_bonds_reset_enabled", RootSudoOnly.FALSE),
684
- "transfers_enabled": ("sudo_set_toggle_transfer", RootSudoOnly.FALSE),
685
- "min_allowed_uids": ("sudo_set_min_allowed_uids", RootSudoOnly.TRUE),
683
+ "bonds_reset_enabled": ("set_bonds_reset_enabled", RootSudoOnly.FALSE),
684
+ "transfers_enabled": ("set_toggle_transfer", RootSudoOnly.FALSE),
685
+ "min_allowed_uids": ("set_min_allowed_uids", RootSudoOnly.TRUE),
686
686
  # Note: These are displayed but not directly settable via HYPERPARAMS
687
687
  # They are derived or set via other mechanisms
688
688
  "alpha_high": ("", RootSudoOnly.FALSE), # Derived from alpha_values