cartha-cli 1.0.1__py3-none-any.whl → 1.0.2__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.
@@ -35,21 +35,25 @@ from .shared_options import (
35
35
  )
36
36
 
37
37
  # Import pool name helper
38
+ # Initialize fallback function first to ensure it's always defined
39
+ def _fallback_pool_id_to_name(pool_id: str) -> str | None:
40
+ """Simple fallback to decode pool ID."""
41
+ try:
42
+ hex_str = pool_id.lower().removeprefix("0x")
43
+ pool_bytes = bytes.fromhex(hex_str)
44
+ name = pool_bytes.rstrip(b"\x00").decode("utf-8", errors="ignore")
45
+ if name and name.isprintable():
46
+ return name
47
+ except Exception:
48
+ pass
49
+ return None
50
+
51
+ # Try to import from testnet module, fallback to default if not available
38
52
  try:
39
53
  from ...testnet.pool_ids import pool_id_to_name
40
- except ImportError:
41
- # Fallback if running from different context
42
- def pool_id_to_name(pool_id: str) -> str | None:
43
- """Simple fallback to decode pool ID."""
44
- try:
45
- hex_str = pool_id.lower().removeprefix("0x")
46
- pool_bytes = bytes.fromhex(hex_str)
47
- name = pool_bytes.rstrip(b"\x00").decode("utf-8", errors="ignore")
48
- if name and name.isprintable():
49
- return name
50
- except Exception:
51
- pass
52
- return None
54
+ except (ImportError, ModuleNotFoundError):
55
+ # Use fallback function
56
+ pool_id_to_name = _fallback_pool_id_to_name
53
57
 
54
58
 
55
59
  def pair_status(
@@ -7,13 +7,27 @@ import typer
7
7
  from .common import console
8
8
 
9
9
  # Import pool helpers for pool_id conversion
10
+ # Initialize fallback functions first to ensure they're always defined
11
+ def _fallback_list_pools() -> dict[str, str]:
12
+ """Fallback: return empty dict."""
13
+ return {}
14
+
15
+ def _fallback_pool_id_to_vault_address(pool_id: str) -> str | None:
16
+ """Fallback: return None."""
17
+ return None
18
+
19
+ def _fallback_pool_id_to_chain_id(pool_id: str) -> int | None:
20
+ """Fallback: return None."""
21
+ return None
22
+
23
+ # Try to import from testnet module, fallback to defaults if not available
10
24
  try:
11
25
  from ...testnet.pool_ids import (
12
26
  list_pools,
13
27
  pool_id_to_chain_id,
14
28
  pool_id_to_vault_address,
15
29
  )
16
- except ImportError:
30
+ except (ImportError, ModuleNotFoundError):
17
31
  # Fallback if running from different context
18
32
  import sys
19
33
  from pathlib import Path
@@ -28,19 +42,16 @@ except ImportError:
28
42
  pool_id_to_chain_id,
29
43
  pool_id_to_vault_address,
30
44
  )
31
- except ImportError:
32
- # Final fallback
33
- def list_pools() -> dict[str, str]:
34
- """Fallback: return empty dict."""
35
- return {}
36
-
37
- def pool_id_to_vault_address(pool_id: str) -> str | None:
38
- """Fallback: return None."""
39
- return None
40
-
41
- def pool_id_to_chain_id(pool_id: str) -> int | None:
42
- """Fallback: return None."""
43
- return None
45
+ except (ImportError, ModuleNotFoundError):
46
+ # Use fallback functions
47
+ list_pools = _fallback_list_pools
48
+ pool_id_to_vault_address = _fallback_pool_id_to_vault_address
49
+ pool_id_to_chain_id = _fallback_pool_id_to_chain_id
50
+ else:
51
+ # Use fallback functions if testnet directory doesn't exist
52
+ list_pools = _fallback_list_pools
53
+ pool_id_to_vault_address = _fallback_pool_id_to_vault_address
54
+ pool_id_to_chain_id = _fallback_pool_id_to_chain_id
44
55
 
45
56
 
46
57
  def pools(
@@ -43,6 +43,48 @@ from .shared_options import (
43
43
  )
44
44
 
45
45
  # Import pool helpers for pool_id conversion
46
+ # Initialize fallback functions first to ensure they're always defined
47
+ def _fallback_pool_name_to_id(pool_name: str) -> str:
48
+ """Fallback: encode pool name as hex."""
49
+ name_bytes = pool_name.encode("utf-8")
50
+ padded = name_bytes.ljust(32, b"\x00")
51
+ return "0x" + padded.hex()
52
+
53
+ def _fallback_pool_id_to_name(pool_id: str) -> str | None:
54
+ """Fallback: try to decode."""
55
+ try:
56
+ hex_str = pool_id.lower().removeprefix("0x")
57
+ pool_bytes = bytes.fromhex(hex_str)
58
+ name = pool_bytes.rstrip(b"\x00").decode("utf-8", errors="ignore")
59
+ return name if name and name.isprintable() else None
60
+ except Exception:
61
+ return None
62
+
63
+ def _fallback_format_pool_id(pool_id: str) -> str:
64
+ """Fallback: return pool_id as-is."""
65
+ return pool_id
66
+
67
+ def _fallback_list_pools() -> dict[str, str]:
68
+ """Fallback: return empty dict."""
69
+ return {}
70
+
71
+ def _fallback_pool_id_to_vault_address(pool_id: str) -> str | None:
72
+ """Fallback: return None."""
73
+ return None
74
+
75
+ def _fallback_vault_address_to_pool_id(vault_address: str) -> str | None:
76
+ """Fallback: return None."""
77
+ return None
78
+
79
+ def _fallback_pool_id_to_chain_id(pool_id: str) -> int | None:
80
+ """Fallback: return None."""
81
+ return None
82
+
83
+ def _fallback_vault_address_to_chain_id(vault_address: str) -> int | None:
84
+ """Fallback: return None."""
85
+ return None
86
+
87
+ # Try to import from testnet module, fallback to defaults if not available
46
88
  try:
47
89
  from ...testnet.pool_ids import (
48
90
  format_pool_id,
@@ -54,7 +96,7 @@ try:
54
96
  vault_address_to_chain_id,
55
97
  vault_address_to_pool_id,
56
98
  )
57
- except ImportError:
99
+ except (ImportError, ModuleNotFoundError):
58
100
  # Fallback if running from different context
59
101
  import sys
60
102
  from pathlib import Path
@@ -74,47 +116,26 @@ except ImportError:
74
116
  vault_address_to_chain_id,
75
117
  vault_address_to_pool_id,
76
118
  )
77
- except ImportError:
78
- # Final fallback
79
- def pool_name_to_id(pool_name: str) -> str:
80
- """Fallback: encode pool name as hex."""
81
- name_bytes = pool_name.encode("utf-8")
82
- padded = name_bytes.ljust(32, b"\x00")
83
- return "0x" + padded.hex()
84
-
85
- def pool_id_to_name(pool_id: str) -> str | None:
86
- """Fallback: try to decode."""
87
- try:
88
- hex_str = pool_id.lower().removeprefix("0x")
89
- pool_bytes = bytes.fromhex(hex_str)
90
- name = pool_bytes.rstrip(b"\x00").decode("utf-8", errors="ignore")
91
- return name if name and name.isprintable() else None
92
- except Exception:
93
- return None
94
-
95
- def format_pool_id(pool_id: str) -> str:
96
- """Fallback: return pool_id as-is."""
97
- return pool_id
98
-
99
- def list_pools() -> dict[str, str]:
100
- """Fallback: return empty dict."""
101
- return {}
102
-
103
- def pool_id_to_vault_address(pool_id: str) -> str | None:
104
- """Fallback: return None."""
105
- return None
106
-
107
- def vault_address_to_pool_id(vault_address: str) -> str | None:
108
- """Fallback: return None."""
109
- return None
110
-
111
- def pool_id_to_chain_id(pool_id: str) -> int | None:
112
- """Fallback: return None."""
113
- return None
114
-
115
- def vault_address_to_chain_id(vault_address: str) -> int | None:
116
- """Fallback: return None."""
117
- return None
119
+ except (ImportError, ModuleNotFoundError):
120
+ # Use fallback functions
121
+ pool_name_to_id = _fallback_pool_name_to_id
122
+ pool_id_to_name = _fallback_pool_id_to_name
123
+ format_pool_id = _fallback_format_pool_id
124
+ list_pools = _fallback_list_pools
125
+ pool_id_to_vault_address = _fallback_pool_id_to_vault_address
126
+ vault_address_to_pool_id = _fallback_vault_address_to_pool_id
127
+ pool_id_to_chain_id = _fallback_pool_id_to_chain_id
128
+ vault_address_to_chain_id = _fallback_vault_address_to_chain_id
129
+ else:
130
+ # Use fallback functions if testnet directory doesn't exist
131
+ pool_name_to_id = _fallback_pool_name_to_id
132
+ pool_id_to_name = _fallback_pool_id_to_name
133
+ format_pool_id = _fallback_format_pool_id
134
+ list_pools = _fallback_list_pools
135
+ pool_id_to_vault_address = _fallback_pool_id_to_vault_address
136
+ vault_address_to_pool_id = _fallback_vault_address_to_pool_id
137
+ pool_id_to_chain_id = _fallback_pool_id_to_chain_id
138
+ vault_address_to_chain_id = _fallback_vault_address_to_chain_id
118
139
 
119
140
 
120
141
  def prove_lock(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cartha-cli
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: CLI utilities for Cartha subnet miners.
5
5
  Project-URL: Homepage, https://cartha.finance
6
6
  Project-URL: Repository, https://github.com/General-Tao-Ventures/cartha-cli
@@ -15,14 +15,14 @@ cartha_cli/commands/health.py,sha256=NRwmIultxUzAe7udOOBIdkcdGG5KsE_kuCs43LZObGk
15
15
  cartha_cli/commands/help.py,sha256=6ubfWtmjXfCtp6L_PYvn7rR7m5C_pp-iEjtRc6BS0GA,1721
16
16
  cartha_cli/commands/miner_password.py,sha256=7cbcyrJ9KzCyJ68_174U_CXjBUt9BaYhgKAycRpv7AE,11078
17
17
  cartha_cli/commands/miner_status.py,sha256=tWlCWcuwm9NEd4USuCLp_6qObikX2odc2e7m6Y_vNrU,21873
18
- cartha_cli/commands/pair_status.py,sha256=Sk6-bIAcgAH3KxGg0Hw3PofLW_4eyonLUmJOkJ8gem0,19821
19
- cartha_cli/commands/pools.py,sha256=LkFJlur1T5lxV2qz7DeYYj9GbyRiy0wjb1mUNsV1zQg,4104
20
- cartha_cli/commands/prove_lock.py,sha256=xN87_lXmL-dao9GsLpalUsmlun8nLpBc7GIPaRLg8ig,60621
18
+ cartha_cli/commands/pair_status.py,sha256=Q_CTi-7vrvpe0XYiuf_RFdFNXiBcs84xLcTYguxb4ho,19979
19
+ cartha_cli/commands/pools.py,sha256=hXtqRmBLfcMe_FJiW_rcVcttyt7jMX37n0mZAXSnmOU,4661
20
+ cartha_cli/commands/prove_lock.py,sha256=A5AZkfqCLbDio4idud4XV-ktYRhYVOA22WhqPojyFc8,61480
21
21
  cartha_cli/commands/register.py,sha256=sxbYO0V4NucOKLZpaFoVnhFDHLSLDHREoMtN9DjyLsM,10227
22
22
  cartha_cli/commands/shared_options.py,sha256=itHzJSgxuKQxUVOh1_jVTcMQXjI3PPzexQyhqIbabxc,5874
23
23
  cartha_cli/commands/version.py,sha256=u5oeccQzK0LLcCbgZm0U8-Vslk5vB_lVvW3xT5HPeTg,456
24
- cartha_cli-1.0.1.dist-info/METADATA,sha256=kNbcljoI3DNOQDvKkCKS_CPeKO8F5DR9dsI9gbN9Qk4,5794
25
- cartha_cli-1.0.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
26
- cartha_cli-1.0.1.dist-info/entry_points.txt,sha256=sTYVMgb9l0fuJibUtWpGnIoDmgHinne97G4Y_cCwC-U,43
27
- cartha_cli-1.0.1.dist-info/licenses/LICENSE,sha256=B4UCiDn13m4xYwIl4TMKfbuKw7kh9pg4c81rJecxHSo,1076
28
- cartha_cli-1.0.1.dist-info/RECORD,,
24
+ cartha_cli-1.0.2.dist-info/METADATA,sha256=oCfBEiLZfg8QSFW-Ml9smIh0WNPG-vQ2QKbC4oKZG6c,5794
25
+ cartha_cli-1.0.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
26
+ cartha_cli-1.0.2.dist-info/entry_points.txt,sha256=sTYVMgb9l0fuJibUtWpGnIoDmgHinne97G4Y_cCwC-U,43
27
+ cartha_cli-1.0.2.dist-info/licenses/LICENSE,sha256=B4UCiDn13m4xYwIl4TMKfbuKw7kh9pg4c81rJecxHSo,1076
28
+ cartha_cli-1.0.2.dist-info/RECORD,,