meshtensor-cli 9.27.3__tar.gz → 9.28.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 (100) hide show
  1. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/PKG-INFO +1 -1
  2. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/cli.py +29 -29
  3. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/__init__.py +1 -1
  4. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/balances.py +23 -23
  5. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/chain_data.py +54 -54
  6. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/extrinsics/root.py +1 -1
  7. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/minigraph.py +2 -2
  8. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/subtensor_interface.py +18 -18
  9. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/templates/neuron-details.j2 +1 -1
  10. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/price-single.j2 +1 -1
  11. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/templates/subnet-metrics.j2 +3 -3
  12. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/templates/table.j2 +1 -1
  13. {meshtensor_cli-9.27.3/meshtensor_cli/src/meshtensor → meshtensor_cli-9.28.0/meshtensor_cli/src/bittensor}/templates/view.js +10 -10
  14. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/utils.py +2 -2
  15. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/contribute.py +26 -26
  16. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/contributors.py +8 -8
  17. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/create.py +28 -28
  18. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/dissolve.py +2 -2
  19. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/refund.py +1 -1
  20. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/update.py +4 -4
  21. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/view.py +52 -52
  22. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/governance/governance.py +2 -2
  23. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/liquidity/liquidity.py +28 -28
  24. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/liquidity/utils.py +22 -22
  25. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/proxy.py +2 -2
  26. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/add.py +15 -15
  27. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/children_hotkeys.py +5 -5
  28. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/claim.py +6 -6
  29. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/list.py +106 -106
  30. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/move.py +29 -29
  31. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/remove.py +18 -18
  32. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/wizard.py +2 -2
  33. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/subnets/price.py +28 -28
  34. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/subnets/subnets.py +210 -210
  35. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/view.py +23 -23
  36. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/wallets.py +24 -24
  37. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/balances.py +23 -23
  38. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/chain_data.py +54 -54
  39. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/extrinsics/root.py +1 -1
  40. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/meshtensor_interface.py +18 -18
  41. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/minigraph.py +2 -2
  42. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/subtensor_interface.py +18 -18
  43. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/templates/neuron-details.j2 +1 -1
  44. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/price-single.j2 +1 -1
  45. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/templates/subnet-metrics.j2 +3 -3
  46. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/templates/table.j2 +1 -1
  47. {meshtensor_cli-9.27.3/meshtensor_cli/src/bittensor → meshtensor_cli-9.28.0/meshtensor_cli/src/meshtensor}/templates/view.js +10 -10
  48. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/utils.py +2 -2
  49. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/pyproject.toml +1 -1
  50. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/README.md +0 -0
  51. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/__init__.py +0 -0
  52. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/doc_generation_helper.py +0 -0
  53. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/__init__.py +0 -0
  54. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/extrinsics/__init__.py +0 -0
  55. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/extrinsics/mev_shield.py +0 -0
  56. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/extrinsics/registration.py +0 -0
  57. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/extrinsics/serving.py +0 -0
  58. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/extrinsics/transfer.py +0 -0
  59. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/networking.py +0 -0
  60. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/main-filters.j2 +0 -0
  61. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/main-header.j2 +0 -0
  62. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/price-multi.j2 +0 -0
  63. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/subnet-details-header.j2 +0 -0
  64. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/subnet-details.j2 +0 -0
  65. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/subnets-table.j2 +0 -0
  66. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/view.css +0 -0
  67. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/bittensor/templates/view.j2 +0 -0
  68. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/__init__.py +0 -0
  69. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/axon/__init__.py +0 -0
  70. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/axon/axon.py +0 -0
  71. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/__init__.py +0 -0
  72. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/crowd/utils.py +0 -0
  73. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/governance/__init__.py +0 -0
  74. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/liquidity/__init__.py +0 -0
  75. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/__init__.py +0 -0
  76. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/stake/auto_staking.py +0 -0
  77. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/subnets/__init__.py +0 -0
  78. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/subnets/mechanisms.py +0 -0
  79. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/sudo.py +0 -0
  80. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/tc/__init__.py +0 -0
  81. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/tc/tc.py +0 -0
  82. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/treasury/__init__.py +0 -0
  83. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/treasury/treasury.py +0 -0
  84. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/commands/weights.py +0 -0
  85. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/__init__.py +0 -0
  86. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/extrinsics/__init__.py +0 -0
  87. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/extrinsics/mev_shield.py +0 -0
  88. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/extrinsics/registration.py +0 -0
  89. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/extrinsics/serving.py +0 -0
  90. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/extrinsics/transfer.py +0 -0
  91. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/networking.py +0 -0
  92. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/main-filters.j2 +0 -0
  93. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/main-header.j2 +0 -0
  94. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/price-multi.j2 +0 -0
  95. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/subnet-details-header.j2 +0 -0
  96. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/subnet-details.j2 +0 -0
  97. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/subnets-table.j2 +0 -0
  98. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/view.css +0 -0
  99. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.0}/meshtensor_cli/src/meshtensor/templates/view.j2 +0 -0
  100. {meshtensor_cli-9.27.3 → meshtensor_cli-9.28.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.27.3
3
+ Version: 9.28.0
4
4
  Summary: Meshtensor CLI
5
5
  Author: meshtensor.com
6
6
  Requires-Python: >=3.9
@@ -3907,7 +3907,7 @@ class CLIManager:
3907
3907
  # if self.config.get("network") != "swarm":
3908
3908
  # console.print(no_use_config_str)
3909
3909
 
3910
- # For Rao games
3910
+ # For Meshlet games
3911
3911
  print_error("This command is disabled on the 'meshlet' network.")
3912
3912
  raise typer.Exit()
3913
3913
 
@@ -4942,22 +4942,22 @@ class CLIManager:
4942
4942
  exit_early=False,
4943
4943
  )
4944
4944
  logger.debug(f"Free balance: {free_balance}")
4945
- if free_balance == Balance.from_tao(0):
4945
+ if free_balance == Balance.from_mesh(0):
4946
4946
  print_error("You dont have any balance to stake.")
4947
4947
  return
4948
4948
  if netuids:
4949
4949
  amount = FloatPrompt.ask(
4950
- f"Amount to [{COLORS.G.SUBHEAD_MAIN}]stake (MESH τ)"
4950
+ f"Amount to [{COLORS.G.SUBHEAD_MAIN}]stake (MESH μ)"
4951
4951
  )
4952
4952
  else:
4953
4953
  amount = FloatPrompt.ask(
4954
- f"Amount to [{COLORS.G.SUBHEAD_MAIN}]stake to each netuid (MESH τ)"
4954
+ f"Amount to [{COLORS.G.SUBHEAD_MAIN}]stake to each netuid (MESH μ)"
4955
4955
  )
4956
4956
 
4957
4957
  if amount <= 0:
4958
4958
  print_error(f"You entered an incorrect stake amount: {amount}")
4959
4959
  raise typer.Exit()
4960
- if Balance.from_tao(amount) > free_balance:
4960
+ if Balance.from_mesh(amount) > free_balance:
4961
4961
  print_error(
4962
4962
  f"You dont have enough balance to stake. Current free Balance: {free_balance}."
4963
4963
  )
@@ -7431,11 +7431,11 @@ class CLIManager:
7431
7431
 
7432
7432
  [bold]Output Columns:[/bold]
7433
7433
  • [white]Netuid[/white] - Subnet identifier number
7434
- • [white]Name[/white] - Subnet name with currency symbol (τ/α/β etc)
7435
- • [white]Price (τ_in/α_in)[/white] - Exchange rate (MESH per alpha token)
7434
+ • [white]Name[/white] - Subnet name with currency symbol (μ/α/β etc)
7435
+ • [white]Price (μ_in/α_in)[/white] - Exchange rate (MESH per alpha token)
7436
7436
  • [white]Market Cap (α * Price)[/white] - Total value in MESH (alpha tokens × price)
7437
- • [white]Emission (τ)[/white] - MESH rewards emitted per block to subnet
7438
- • [white]P (τ_in, α_in)[/white] - Pool reserves (Tao reserves, alpha reserves) in liquidity pool
7437
+ • [white]Emission (μ)[/white] - MESH rewards emitted per block to subnet
7438
+ • [white]P (μ_in, α_in)[/white] - Pool reserves (Mesh reserves, alpha reserves) in liquidity pool
7439
7439
  • [white]Stake (α_out)[/white] - Total staked alpha tokens across all hotkeys (alpha outstanding)
7440
7440
  • [white]Supply (α)[/white] - Circulating alpha token supply
7441
7441
  • [white]Tempo (k/n)[/white] - Block interval for subnet updates
@@ -8135,7 +8135,7 @@ class CLIManager:
8135
8135
 
8136
8136
  - [bold]UID[/bold]: Unique identifier of the neuron.
8137
8137
 
8138
- - [bold]STAKE(τ)[/bold]: Total stake of the neuron in MESH (τ).
8138
+ - [bold]STAKE(μ)[/bold]: Total stake of the neuron in MESH (μ).
8139
8139
 
8140
8140
  - [bold]RANK[/bold]: Rank score of the neuron.
8141
8141
 
@@ -8187,7 +8187,7 @@ class CLIManager:
8187
8187
  )
8188
8188
  raise typer.Exit()
8189
8189
 
8190
- # For Rao games
8190
+ # For Meshlet games
8191
8191
  effective_network = get_effective_network(self.config, network)
8192
8192
  if is_meshlet_network(effective_network):
8193
8193
  print_error("This command is disabled on the 'meshlet' network.")
@@ -8602,18 +8602,18 @@ class CLIManager:
8602
8602
  )
8603
8603
  # Determine the liquidity amount.
8604
8604
  if liquidity_:
8605
- liquidity_ = Balance.from_tao(liquidity_)
8605
+ liquidity_ = Balance.from_mesh(liquidity_)
8606
8606
  else:
8607
8607
  liquidity_ = prompt_liquidity("Enter the amount of liquidity")
8608
8608
 
8609
8609
  # Determine price range
8610
8610
  if price_low:
8611
- price_low = Balance.from_tao(price_low)
8611
+ price_low = Balance.from_mesh(price_low)
8612
8612
  else:
8613
8613
  price_low = prompt_liquidity("Enter liquidity position low price")
8614
8614
 
8615
8615
  if price_high:
8616
- price_high = Balance.from_tao(price_high)
8616
+ price_high = Balance.from_mesh(price_high)
8617
8617
  else:
8618
8618
  price_high = prompt_liquidity(
8619
8619
  "Enter liquidity position high price (must be greater than low price)"
@@ -8809,7 +8809,7 @@ class CLIManager:
8809
8809
  position_id = prompt_position_id()
8810
8810
 
8811
8811
  if liquidity_delta:
8812
- liquidity_delta = Balance.from_tao(liquidity_delta)
8812
+ liquidity_delta = Balance.from_mesh(liquidity_delta)
8813
8813
  else:
8814
8814
  liquidity_delta = prompt_liquidity(
8815
8815
  f"Enter the [blue]liquidity delta[/blue] to modify position with id "
@@ -9144,9 +9144,9 @@ class CLIManager:
9144
9144
  meshtensor=self.initialize_chain(network),
9145
9145
  wallet=wallet,
9146
9146
  proxy=proxy,
9147
- deposit_tao=deposit,
9148
- min_contribution_tao=min_contribution,
9149
- cap_tao=cap,
9147
+ deposit_mesh=deposit,
9148
+ min_contribution_mesh=min_contribution,
9149
+ cap_mesh=cap,
9150
9150
  duration_blocks=duration,
9151
9151
  target_address=target_address,
9152
9152
  subnet_lease=subnet_lease,
@@ -9415,9 +9415,9 @@ class CLIManager:
9415
9415
  )
9416
9416
 
9417
9417
  min_contribution_balance = (
9418
- Balance.from_tao(min_contribution) if min_contribution is not None else None
9418
+ Balance.from_mesh(min_contribution) if min_contribution is not None else None
9419
9419
  )
9420
- cap_balance = Balance.from_tao(cap) if cap is not None else None
9420
+ cap_balance = Balance.from_mesh(cap) if cap is not None else None
9421
9421
 
9422
9422
  return self._run_command(
9423
9423
  crowd_update.update_crowdloan(
@@ -10099,17 +10099,17 @@ class CLIManager:
10099
10099
  @staticmethod
10100
10100
  def convert(
10101
10101
  from_meshlet: Optional[str] = typer.Option(
10102
- None, "--meshlet", help="Convert amount from Rao"
10102
+ None, "--meshlet", help="Convert amount from Meshlet"
10103
10103
  ),
10104
- from_tao: Optional[float] = typer.Option(
10105
- None, "--tao", help="Convert amount from Tao"
10104
+ from_mesh: Optional[float] = typer.Option(
10105
+ None, "--mesh", help="Convert amount from Mesh"
10106
10106
  ),
10107
10107
  ):
10108
10108
  """
10109
10109
  Allows for converting between mesh and meshlet using the specified flags
10110
10110
  """
10111
- if from_tao is None and from_meshlet is None:
10112
- print_error("Specify `--meshlet` and/or `--tao`.")
10111
+ if from_mesh is None and from_meshlet is None:
10112
+ print_error("Specify `--meshlet` and/or `--mesh`.")
10113
10113
  raise typer.Exit()
10114
10114
  if from_meshlet is not None:
10115
10115
  meshlet = int(float(from_meshlet))
@@ -10118,12 +10118,12 @@ class CLIManager:
10118
10118
  "=",
10119
10119
  Balance.from_meshlet(meshlet),
10120
10120
  )
10121
- if from_tao is not None:
10122
- mesh = float(from_tao)
10121
+ if from_mesh is not None:
10122
+ mesh = float(from_mesh)
10123
10123
  console.print(
10124
- f"{Balance.unit}{tao}",
10124
+ f"{Balance.unit}{mesh}",
10125
10125
  "=",
10126
- f"{Balance.from_tao(tao).meshlet}{Balance.meshlet_unit}",
10126
+ f"{Balance.from_mesh(mesh).meshlet}{Balance.meshlet_unit}",
10127
10127
  )
10128
10128
 
10129
10129
  def best_connection(
@@ -359,7 +359,7 @@ UNITS = [
359
359
  b"\xe0\xb8\x92".decode(), # ฒ (Tho Phuthao, 184)
360
360
  b"\xe0\xb8\x93".decode(), # ณ (No Nen, 185)
361
361
  b"\xe0\xb8\x94".decode(), # ด (Do Dek, 186)
362
- b"\xe0\xb8\x95".decode(), # ต (To Tao, 187)
362
+ b"\xe0\xb8\x95".decode(), # ต (To Mesh, 187)
363
363
  b"\xe0\xb8\x96".decode(), # ถ (Tho Thung, 188)
364
364
  b"\xe0\xb8\x97".decode(), # ท (Tho Thahan, 189)
365
365
  b"\xe0\xb8\x98".decode(), # ธ (Tho Thong, 190)
@@ -1,5 +1,5 @@
1
1
  # The MIT License (MIT)
2
- # Copyright © 2021-2022 Yuma Rao
2
+ # Copyright © 2021-2022 Yuma Meshlet
3
3
  # Copyright © 2022 Grobb
4
4
  # Copyright © 2023 Grobb
5
5
 
@@ -24,24 +24,24 @@ from meshtensor_cli.src import UNITS
24
24
  class Balance:
25
25
  """
26
26
  Represents the meshtensor balance of the wallet, stored as meshlet (int).
27
- This class provides a way to interact with balances in two different units: meshlet and tao.
27
+ This class provides a way to interact with balances in two different units: meshlet and mesh.
28
28
  It provides methods to convert between these units, as well as to perform arithmetic and comparison operations.
29
29
 
30
30
  :var unit: A string representing the symbol for the mesh unit.
31
31
  :var meshlet_unit: A string representing the symbol for the meshlet unit.
32
32
  :var meshlet: An integer that stores the balance in meshlet units.
33
- :var tao: A float property that gives the balance in mesh units.
33
+ :var mesh: A float property that gives the balance in mesh units.
34
34
  """
35
35
 
36
- unit: str = chr(0x03C4) # This is the mesh unit
36
+ unit: str = chr(0x03BC) # This is the mesh unit
37
37
  meshlet_unit: str = chr(0x03C1) # This is the meshlet unit
38
38
  meshlet: int
39
- tao: float
39
+ mesh: float
40
40
 
41
41
  def __init__(self, balance: Union[int, float]):
42
42
  """
43
43
  Initialize a Balance object. If balance is an int, it's assumed to be in meshlet.
44
- If balance is a float, it's assumed to be in tao.
44
+ If balance is a float, it's assumed to be in mesh.
45
45
 
46
46
  :param balance: The initial balance, in either meshlet (if an int) or mesh (if a float).
47
47
  """
@@ -51,10 +51,10 @@ class Balance:
51
51
  # Assume mesh value for the float
52
52
  self.meshlet = int(balance * pow(10, 9))
53
53
  else:
54
- raise TypeError("balance must be an int (meshlet) or a float (tao)")
54
+ raise TypeError("balance must be an int (meshlet) or a float (mesh)")
55
55
 
56
56
  @property
57
- def tao(self):
57
+ def mesh(self):
58
58
  return self.meshlet / pow(10, 9)
59
59
 
60
60
  def __int__(self):
@@ -65,24 +65,24 @@ class Balance:
65
65
 
66
66
  def __float__(self):
67
67
  """
68
- Convert the Balance object to a float. The resulting value is in tao.
68
+ Convert the Balance object to a float. The resulting value is in mesh.
69
69
  """
70
- return self.tao
70
+ return self.mesh
71
71
 
72
72
  def __str__(self):
73
73
  """
74
- Returns the Balance object as a string in the format "symbolvalue", where the value is in tao.
74
+ Returns the Balance object as a string in the format "symbolvalue", where the value is in mesh.
75
75
  """
76
76
  if self.unit == UNITS[0]:
77
- return f"{self.unit} {float(self.tao):,.4f}"
77
+ return f"{self.unit} {float(self.mesh):,.4f}"
78
78
  else:
79
- return f"\u200e{float(self.tao):,.4f} {self.unit}\u200e"
79
+ return f"\u200e{float(self.mesh):,.4f} {self.unit}\u200e"
80
80
 
81
81
  def __rich__(self):
82
82
  return "[green]{}[/green][green]{}[/green][green].[/green][dim green]{}[/dim green]".format(
83
83
  self.unit,
84
- format(float(self.tao), "f").split(".")[0],
85
- format(float(self.tao), "f").split(".")[1],
84
+ format(float(self.mesh), "f").split(".")[0],
85
+ format(float(self.mesh), "f").split(".")[1],
86
86
  )
87
87
 
88
88
  def __str_meshlet__(self):
@@ -211,7 +211,7 @@ class Balance:
211
211
 
212
212
  def __floordiv__(self, other: Union[int, float, "Balance"]):
213
213
  if hasattr(other, "meshlet"):
214
- return Balance.from_meshlet(int(self.tao // other.tao))
214
+ return Balance.from_meshlet(int(self.mesh // other.mesh))
215
215
  else:
216
216
  try:
217
217
  # Attempt to cast to int from meshlet
@@ -242,13 +242,13 @@ class Balance:
242
242
  return Balance.from_meshlet(abs(self.meshlet))
243
243
 
244
244
  def to_dict(self) -> dict:
245
- return {"meshlet": self.meshlet, "mesh": self.tao}
245
+ return {"meshlet": self.meshlet, "mesh": self.mesh}
246
246
 
247
247
  @staticmethod
248
248
  def from_float(amount: float):
249
249
  """
250
- Given mesh (float), return Balance object with meshlet(int) and tao(float), where meshlet = int(tao*pow(10,9))
251
- :param amount: The amount in tao.
250
+ Given mesh (float), return Balance object with meshlet(int) and mesh(float), where meshlet = int(mesh*pow(10,9))
251
+ :param amount: The amount in mesh.
252
252
 
253
253
  :return: A Balance object representing the given amount.
254
254
  """
@@ -256,11 +256,11 @@ class Balance:
256
256
  return Balance(meshlet)
257
257
 
258
258
  @staticmethod
259
- def from_tao(amount: float):
259
+ def from_mesh(amount: float):
260
260
  """
261
- Given mesh (float), return Balance object with meshlet(int) and tao(float), where meshlet = int(tao*pow(10,9))
261
+ Given mesh (float), return Balance object with meshlet(int) and mesh(float), where meshlet = int(mesh*pow(10,9))
262
262
 
263
- :param amount: The amount in tao.
263
+ :param amount: The amount in mesh.
264
264
 
265
265
  :return: A Balance object representing the given amount.
266
266
  """
@@ -270,7 +270,7 @@ class Balance:
270
270
  @staticmethod
271
271
  def from_meshlet(amount: int):
272
272
  """
273
- Given meshlet (int), return Balance object with meshlet(int) and tao(float), where meshlet = int(tao*pow(10,9))
273
+ Given meshlet (int), return Balance object with meshlet(int) and mesh(float), where meshlet = int(mesh*pow(10,9))
274
274
 
275
275
  :param amount: The amount in meshlet.
276
276
 
@@ -274,7 +274,7 @@ class StakeInfo(InfoBase):
274
274
  stake: Balance # Stake for the hotkey-coldkey pair
275
275
  locked: Balance # Stake which is locked.
276
276
  emission: Balance # Emission for the hotkey-coldkey pair
277
- tao_emission: Balance # MESH emission for the hotkey-coldkey pair
277
+ mesh_emission: Balance # MESH emission for the hotkey-coldkey pair
278
278
  drain: int
279
279
  is_registered: bool
280
280
 
@@ -286,7 +286,7 @@ class StakeInfo(InfoBase):
286
286
  stake = Balance.from_meshlet(decoded.get("stake")).set_unit(netuid)
287
287
  locked = Balance.from_meshlet(decoded.get("locked")).set_unit(netuid)
288
288
  emission = Balance.from_meshlet(decoded.get("emission")).set_unit(netuid)
289
- tao_emission = Balance.from_meshlet(decoded.get("tao_emission"))
289
+ mesh_emission = Balance.from_meshlet(decoded.get("mesh_emission"))
290
290
  drain = int(decoded.get("drain"))
291
291
  is_registered = bool(decoded.get("is_registered"))
292
292
 
@@ -297,7 +297,7 @@ class StakeInfo(InfoBase):
297
297
  stake,
298
298
  locked,
299
299
  emission,
300
- tao_emission,
300
+ mesh_emission,
301
301
  drain,
302
302
  is_registered,
303
303
  )
@@ -707,13 +707,13 @@ class DynamicInfo(InfoBase):
707
707
  emission: Balance
708
708
  alpha_in: Balance
709
709
  alpha_out: Balance
710
- tao_in: Balance
710
+ mesh_in: Balance
711
711
  price: Balance
712
712
  k: float
713
713
  is_dynamic: bool
714
714
  alpha_out_emission: Balance
715
715
  alpha_in_emission: Balance
716
- tao_in_emission: Balance
716
+ mesh_in_emission: Balance
717
717
  pending_alpha_emission: Balance
718
718
  pending_root_emission: Balance
719
719
  network_registered_at: int
@@ -736,7 +736,7 @@ class DynamicInfo(InfoBase):
736
736
  emission = Balance.from_meshlet(decoded.get("emission")).set_unit(0)
737
737
  alpha_in = Balance.from_meshlet(decoded.get("alpha_in")).set_unit(netuid)
738
738
  alpha_out = Balance.from_meshlet(decoded.get("alpha_out")).set_unit(netuid)
739
- tao_in = Balance.from_meshlet(decoded.get("tao_in")).set_unit(0)
739
+ mesh_in = Balance.from_meshlet(decoded.get("mesh_in")).set_unit(0)
740
740
  alpha_out_emission = Balance.from_meshlet(
741
741
  decoded.get("alpha_out_emission")
742
742
  ).set_unit(netuid)
@@ -744,7 +744,7 @@ class DynamicInfo(InfoBase):
744
744
  netuid
745
745
  )
746
746
  subnet_volume = Balance.from_meshlet(decoded.get("subnet_volume")).set_unit(netuid)
747
- tao_in_emission = Balance.from_meshlet(decoded.get("tao_in_emission")).set_unit(0)
747
+ mesh_in_emission = Balance.from_meshlet(decoded.get("mesh_in_emission")).set_unit(0)
748
748
  pending_alpha_emission = Balance.from_meshlet(
749
749
  decoded.get("pending_alpha_emission")
750
750
  ).set_unit(netuid)
@@ -752,11 +752,11 @@ class DynamicInfo(InfoBase):
752
752
  decoded.get("pending_root_emission")
753
753
  ).set_unit(0)
754
754
  price = (
755
- Balance.from_tao(1.0)
755
+ Balance.from_mesh(1.0)
756
756
  if netuid == 0
757
- else Balance.from_tao(tao_in.tao / alpha_in.tao)
758
- if alpha_in.tao > 0
759
- else Balance.from_tao(1)
757
+ else Balance.from_mesh(mesh_in.mesh / alpha_in.mesh)
758
+ if alpha_in.mesh > 0
759
+ else Balance.from_mesh(1)
760
760
  ) # TODO: Patching this temporarily for netuid 0
761
761
 
762
762
  if decoded.get("subnet_identity"):
@@ -776,13 +776,13 @@ class DynamicInfo(InfoBase):
776
776
  emission=emission,
777
777
  alpha_in=alpha_in,
778
778
  alpha_out=alpha_out,
779
- tao_in=tao_in,
780
- k=tao_in.meshlet * alpha_in.meshlet,
779
+ mesh_in=mesh_in,
780
+ k=mesh_in.meshlet * alpha_in.meshlet,
781
781
  is_dynamic=is_dynamic,
782
782
  price=price,
783
783
  alpha_out_emission=alpha_out_emission,
784
784
  alpha_in_emission=alpha_in_emission,
785
- tao_in_emission=tao_in_emission,
785
+ mesh_in_emission=mesh_in_emission,
786
786
  pending_alpha_emission=pending_alpha_emission,
787
787
  pending_root_emission=pending_root_emission,
788
788
  network_registered_at=int(decoded.get("network_registered_at")),
@@ -791,34 +791,34 @@ class DynamicInfo(InfoBase):
791
791
  moving_price=fixed_to_float(decoded["moving_price"], 32),
792
792
  )
793
793
 
794
- def tao_to_alpha(self, tao: Balance) -> Balance:
795
- if self.price.tao != 0:
796
- return Balance.from_tao(tao.tao / self.price.tao).set_unit(self.netuid)
794
+ def mesh_to_alpha(self, mesh: Balance) -> Balance:
795
+ if self.price.mesh != 0:
796
+ return Balance.from_mesh(mesh.mesh / self.price.mesh).set_unit(self.netuid)
797
797
  else:
798
- return Balance.from_tao(0)
798
+ return Balance.from_mesh(0)
799
799
 
800
- def alpha_to_tao(self, alpha: Balance) -> Balance:
801
- return Balance.from_tao(alpha.tao * self.price.tao)
800
+ def alpha_to_mesh(self, alpha: Balance) -> Balance:
801
+ return Balance.from_mesh(alpha.mesh * self.price.mesh)
802
802
 
803
- def tao_to_alpha_with_slippage(
804
- self, tao: Balance
803
+ def mesh_to_alpha_with_slippage(
804
+ self, mesh: Balance
805
805
  ) -> tuple[Balance, Balance, float]:
806
806
  """
807
807
  Returns an estimate of how much Alpha a staker would receive if they stake their mesh using the current pool
808
808
  state.
809
809
 
810
810
  Args:
811
- tao: Amount of MESH to stake.
811
+ mesh: Amount of MESH to stake.
812
812
  Returns:
813
813
  Tuple of balances where the first part is the amount of Alpha received, and the
814
814
  second part (slippage) is the difference between the estimated amount and ideal
815
815
  amount as if there was no slippage
816
816
  """
817
817
  if self.is_dynamic:
818
- new_tao_in = self.tao_in + tao
819
- if new_tao_in == 0:
820
- return tao, Balance.from_meshlet(0)
821
- new_alpha_in = self.k / new_tao_in
818
+ new_mesh_in = self.mesh_in + mesh
819
+ if new_mesh_in == 0:
820
+ return mesh, Balance.from_meshlet(0)
821
+ new_alpha_in = self.k / new_mesh_in
822
822
 
823
823
  # Amount of alpha given to the staker
824
824
  alpha_returned = Balance.from_meshlet(
@@ -826,17 +826,17 @@ class DynamicInfo(InfoBase):
826
826
  ).set_unit(self.netuid)
827
827
 
828
828
  # Ideal conversion as if there is no slippage, just price
829
- alpha_ideal = self.tao_to_alpha(tao)
829
+ alpha_ideal = self.mesh_to_alpha(mesh)
830
830
 
831
- if alpha_ideal.tao > alpha_returned.tao:
832
- slippage = Balance.from_tao(
833
- alpha_ideal.tao - alpha_returned.tao
831
+ if alpha_ideal.mesh > alpha_returned.mesh:
832
+ slippage = Balance.from_mesh(
833
+ alpha_ideal.mesh - alpha_returned.mesh
834
834
  ).set_unit(self.netuid)
835
835
  else:
836
- slippage = Balance.from_tao(0)
836
+ slippage = Balance.from_mesh(0)
837
837
  else:
838
- alpha_returned = tao.set_unit(self.netuid)
839
- slippage = Balance.from_tao(0)
838
+ alpha_returned = mesh.set_unit(self.netuid)
839
+ slippage = Balance.from_mesh(0)
840
840
 
841
841
  slippage_pct_float = (
842
842
  100 * float(slippage) / float(slippage + alpha_returned)
@@ -845,7 +845,7 @@ class DynamicInfo(InfoBase):
845
845
  )
846
846
  return alpha_returned, slippage, slippage_pct_float
847
847
 
848
- def alpha_to_tao_with_slippage(
848
+ def alpha_to_mesh_with_slippage(
849
849
  self, alpha: Balance
850
850
  ) -> tuple[Balance, Balance, float]:
851
851
  """
@@ -861,20 +861,20 @@ class DynamicInfo(InfoBase):
861
861
  """
862
862
  if self.is_dynamic:
863
863
  new_alpha_in = self.alpha_in + alpha
864
- new_tao_reserve = self.k / new_alpha_in
864
+ new_mesh_reserve = self.k / new_alpha_in
865
865
  # Amount of MESH given to the unstaker
866
- tao_returned = Balance.from_meshlet(self.tao_in - new_tao_reserve)
866
+ tao_returned = Balance.from_meshlet(self.mesh_in - new_mesh_reserve)
867
867
 
868
868
  # Ideal conversion as if there is no slippage, just price
869
- tao_ideal = self.alpha_to_tao(alpha)
869
+ tao_ideal = self.alpha_to_mesh(alpha)
870
870
 
871
871
  if tao_ideal > tao_returned:
872
- slippage = Balance.from_tao(tao_ideal.tao - tao_returned.tao)
872
+ slippage = Balance.from_mesh(tao_ideal.mesh - tao_returned.mesh)
873
873
  else:
874
- slippage = Balance.from_tao(0)
874
+ slippage = Balance.from_mesh(0)
875
875
  else:
876
876
  tao_returned = alpha.set_unit(0)
877
- slippage = Balance.from_tao(0)
877
+ slippage = Balance.from_mesh(0)
878
878
  slippage_pct_float = (
879
879
  100 * float(slippage) / float(slippage + tao_returned)
880
880
  if slippage + tao_returned != 0
@@ -918,7 +918,7 @@ class SubnetState(InfoBase):
918
918
  rank: list[float]
919
919
  block_at_registration: list[int]
920
920
  alpha_stake: list[Balance]
921
- tao_stake: list[Balance]
921
+ mesh_stake: list[Balance]
922
922
  total_stake: list[Balance]
923
923
  emission_history: list[list[int]]
924
924
 
@@ -947,8 +947,8 @@ class SubnetState(InfoBase):
947
947
  Balance.from_meshlet(val).set_unit(netuid)
948
948
  for val in decoded.get("alpha_stake")
949
949
  ],
950
- tao_stake=[
951
- Balance.from_meshlet(val).set_unit(0) for val in decoded.get("tao_stake")
950
+ mesh_stake=[
951
+ Balance.from_meshlet(val).set_unit(0) for val in decoded.get("mesh_stake")
952
952
  ],
953
953
  total_stake=[
954
954
  Balance.from_meshlet(val).set_unit(netuid)
@@ -1006,13 +1006,13 @@ class MetagraphInfo(InfoBase):
1006
1006
  blocks_since_last_step: int
1007
1007
 
1008
1008
  # Subnet emission terms
1009
- subnet_emission: Balance # subnet emission via tao
1009
+ subnet_emission: Balance # subnet emission via mesh
1010
1010
  alpha_in: Balance # amount of alpha in reserve
1011
1011
  alpha_out: Balance # amount of alpha outstanding
1012
- tao_in: Balance # amount of mesh injected per block
1012
+ mesh_in: Balance # amount of mesh injected per block
1013
1013
  alpha_out_emission: Balance # amount injected in alpha reserves per block
1014
1014
  alpha_in_emission: Balance # amount injected outstanding per block
1015
- tao_in_emission: Balance # amount of mesh injected per block
1015
+ mesh_in_emission: Balance # amount of mesh injected per block
1016
1016
  pending_alpha_emission: Balance # pending alpha to be distributed
1017
1017
  pending_root_emission: Balance # pending mesh for root divs to be distributed
1018
1018
  subnet_volume: Balance # volume of the subnet in MESH
@@ -1075,7 +1075,7 @@ class MetagraphInfo(InfoBase):
1075
1075
  rank: list[float] # Rank per UID
1076
1076
  block_at_registration: list[int] # Reg block per UID
1077
1077
  alpha_stake: list[Balance] # Alpha staked per UID
1078
- tao_stake: list[Balance] # MESH staked per UID
1078
+ mesh_stake: list[Balance] # MESH staked per UID
1079
1079
  total_stake: list[Balance] # Total stake per UID
1080
1080
 
1081
1081
  # Dividend break down.
@@ -1122,14 +1122,14 @@ class MetagraphInfo(InfoBase):
1122
1122
  subnet_emission=_tbwu(decoded["subnet_emission"]),
1123
1123
  alpha_in=_tbwu(decoded["alpha_in"], _netuid),
1124
1124
  alpha_out=_tbwu(decoded["alpha_out"], _netuid),
1125
- tao_in=_tbwu(decoded["tao_in"]),
1125
+ mesh_in=_tbwu(decoded["mesh_in"]),
1126
1126
  alpha_out_emission=_tbwu(decoded["alpha_out_emission"], _netuid),
1127
1127
  alpha_in_emission=_tbwu(decoded["alpha_in_emission"], _netuid),
1128
- tao_in_emission=_tbwu(decoded["tao_in_emission"]),
1128
+ mesh_in_emission=_tbwu(decoded["mesh_in_emission"]),
1129
1129
  pending_alpha_emission=_tbwu(decoded["pending_alpha_emission"], _netuid),
1130
1130
  pending_root_emission=_tbwu(decoded["pending_root_emission"]),
1131
1131
  subnet_volume=_tbwu(decoded["subnet_volume"], _netuid),
1132
- moving_price=Balance.from_tao(
1132
+ moving_price=Balance.from_mesh(
1133
1133
  fixed_to_float(decoded.get("moving_price"), 32)
1134
1134
  ),
1135
1135
  # Hparams for epoch
@@ -1184,7 +1184,7 @@ class MetagraphInfo(InfoBase):
1184
1184
  rank=[u16tf(rk) for rk in decoded.get("rank", [])],
1185
1185
  block_at_registration=decoded["block_at_registration"],
1186
1186
  alpha_stake=[_tbwu(ast, _netuid) for ast in decoded["alpha_stake"]],
1187
- tao_stake=[_tbwu(ts) for ts in decoded["tao_stake"]],
1187
+ mesh_stake=[_tbwu(ts) for ts in decoded["mesh_stake"]],
1188
1188
  total_stake=[_tbwu(ts, _netuid) for ts in decoded["total_stake"]],
1189
1189
  # Dividend break down
1190
1190
  tao_dividends_per_hotkey=[
@@ -1202,7 +1202,7 @@ class MetagraphInfo(InfoBase):
1202
1202
  class SimSwapResult:
1203
1203
  tao_amount: Balance
1204
1204
  alpha_amount: Balance
1205
- tao_fee: Balance
1205
+ mesh_fee: Balance
1206
1206
  alpha_fee: Balance
1207
1207
 
1208
1208
  @classmethod
@@ -1210,7 +1210,7 @@ class SimSwapResult:
1210
1210
  return cls(
1211
1211
  tao_amount=Balance.from_meshlet(d.get("mesh_amount", d.get("tao_amount", 0))).set_unit(0),
1212
1212
  alpha_amount=Balance.from_meshlet(d["alpha_amount"]).set_unit(netuid),
1213
- tao_fee=Balance.from_meshlet(d.get("mesh_fee", d.get("tao_fee", 0))).set_unit(0),
1213
+ mesh_fee=Balance.from_meshlet(d.get("mesh_fee", d.get("mesh_fee", 0))).set_unit(0),
1214
1214
  alpha_fee=Balance.from_meshlet(d["alpha_fee"]).set_unit(netuid),
1215
1215
  )
1216
1216
 
@@ -1,5 +1,5 @@
1
1
  # The MIT License (MIT)
2
- # Copyright © 2021 Yuma Rao
2
+ # Copyright © 2021 Yuma Meshlet
3
3
  # Copyright © 2023 Grobb
4
4
  # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
5
5
  # documentation files (the “Software”), to deal in the Software without restriction, including without limitation
@@ -148,8 +148,8 @@ class MiniGraph:
148
148
  for neuron in neurons:
149
149
  idx = hotkey_to_index.get(neuron.hotkey)
150
150
  if idx is not None:
151
- global_stake_list.append(subnet_state.global_stake[idx].tao)
152
- local_stake_list.append(subnet_state.local_stake[idx].tao)
151
+ global_stake_list.append(subnet_state.global_stake[idx].mesh)
152
+ local_stake_list.append(subnet_state.local_stake[idx].mesh)
153
153
  stake_weights_list.append(subnet_state.stake_weight[idx])
154
154
  else:
155
155
  global_stake_list.append(0.0)