mm-sol 0.2.5__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.
mm_sol/utils.py ADDED
@@ -0,0 +1,38 @@
1
+ import random
2
+ from decimal import Decimal
3
+
4
+ from solana.rpc.api import Client
5
+ from solana.rpc.commitment import Commitment
6
+
7
+ from mm_sol.rpc import DEFAULT_MAINNET_RPC
8
+ from mm_sol.types import Nodes, Proxies
9
+
10
+
11
+ def lamports_to_sol(lamports: int, ndigits: int = 4) -> Decimal:
12
+ return Decimal(str(round(lamports / 10**9, ndigits=ndigits)))
13
+
14
+
15
+ def get_node(nodes: Nodes | None = None) -> str:
16
+ if nodes is None:
17
+ return DEFAULT_MAINNET_RPC
18
+ if isinstance(nodes, str):
19
+ return nodes
20
+ return random.choice(nodes)
21
+
22
+
23
+ def get_proxy(proxies: Proxies) -> str | None:
24
+ if not proxies:
25
+ return None
26
+ if isinstance(proxies, str):
27
+ return proxies
28
+ return random.choice(proxies)
29
+
30
+
31
+ def get_client(
32
+ endpoint: str,
33
+ commitment: Commitment | None = None,
34
+ extra_headers: dict[str, str] | None = None,
35
+ proxy: str | None = None,
36
+ timeout: float = 10,
37
+ ) -> Client:
38
+ return Client(endpoint, commitment=commitment, extra_headers=extra_headers, timeout=timeout, proxy=proxy)
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.4
2
+ Name: mm-sol
3
+ Version: 0.2.5
4
+ Requires-Python: >=3.12
5
+ Requires-Dist: base58~=2.1.1
6
+ Requires-Dist: jinja2>=3.1.5
7
+ Requires-Dist: mm-std~=0.1.12
8
+ Requires-Dist: solana~=0.36.2
9
+ Requires-Dist: typer>=0.15.1
@@ -0,0 +1,29 @@
1
+ mm_sol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mm_sol/account.py,sha256=WlcbPsRpseC507J3E_G-A2-PJGUToNqzSGjrg0pc-B8,3144
3
+ mm_sol/balance.py,sha256=QzLjzW2fCGH9Uo8gjxerUnwCStsbkVrguXdPs5N6R5I,667
4
+ mm_sol/block.py,sha256=4Lc4TANgpGvPflVumC9MR-3vIl1dedGyci3cgzczuds,1794
5
+ mm_sol/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ mm_sol/rpc.py,sha256=TspD_KZQp_KJDQzRknxaT8DR03okok26UWDQWF7Zflg,8031
7
+ mm_sol/solana_cli.py,sha256=odXNPe8G7dvsGcZxujAFjkd0vWM6fdVvt_mzPulgDZQ,8292
8
+ mm_sol/token.py,sha256=LpFnmTzbtKo_Z5hWX96k1Z153640N8VzXHCvsH5zArs,4903
9
+ mm_sol/transfer.py,sha256=Bdh3amO-sO180Clq5RVgB9y7NXHhu1EbFNgEsGzHjFY,2911
10
+ mm_sol/types.py,sha256=vXXP5Dc72BpHv5tsyws0KDZebG1W1-5HH0UjL7N2Mgc,113
11
+ mm_sol/utils.py,sha256=tjV2d6ZZ-Z61cS0WWTPX2yZ2VoJUQv11CNW0p3nO54M,1016
12
+ mm_sol/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ mm_sol/cli/cli.py,sha256=l3AKhrgO6GEFrwh3gov9_cfjyFZY0VbZGc0o7NqUWrU,3078
14
+ mm_sol/cli/cli_utils.py,sha256=bOrU1LFgndBv4hlNNviHQOob3NfiOsS5YWWDm6fzpCs,1032
15
+ mm_sol/cli/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ mm_sol/cli/cmd/balance_cmd.py,sha256=IryMXq_8yGF9lDXO5kmUo6TRGgedl_9rS3bE1iRPTw0,2516
17
+ mm_sol/cli/cmd/balances_cmd.py,sha256=x6PdXqZgkSmHAsbxim06T4_iPbihUIB4GLy0ZPy5t0s,2168
18
+ mm_sol/cli/cmd/example_cmd.py,sha256=bK_z4du0UPGAoiHnYdi6iaZim_kKlYw4NKBbzvyes28,221
19
+ mm_sol/cli/cmd/node_cmd.py,sha256=UKlZZzd8MVfQHqAjigJRwPj95Mwq2cpHfWgH8BVuwaw,242
20
+ mm_sol/cli/cmd/transfer_sol_cmd.py,sha256=Ta3H4TXxlCCKgcedphN6PU90iYQiZvmYYuKPO044ciw,1196
21
+ mm_sol/cli/cmd/wallet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ mm_sol/cli/cmd/wallet/keypair_cmd.py,sha256=7Dk2eT6hfWRLI0uHO_rAQS8xRwY2S6Uk4iBEIO9aQ_w,561
23
+ mm_sol/cli/cmd/wallet/new_cmd.py,sha256=nvFy5lkk8XUM5jchx0rn0aHHQ0LGVgbwpn7-kej9ccI,448
24
+ mm_sol/cli/examples/balances.yml,sha256=SoFcf_IhgA2zrbihrVpqm-ikes80wLFGVzafrjO00UY,290
25
+ mm_sol/cli/examples/transfer-sol.yml,sha256=fEf5lxnotLwQHt85JzwN0o6kax_Am88VKH5e-n1HP94,290
26
+ mm_sol-0.2.5.dist-info/METADATA,sha256=CARYWN8yylvN_Py6sDi3DBhOcrMlXja6IPlK-LxoiF4,221
27
+ mm_sol-0.2.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
28
+ mm_sol-0.2.5.dist-info/entry_points.txt,sha256=MrYnosumy9nsITSAw5TiR3WXDwsdoF0YvUIlZ38TLLs,46
29
+ mm_sol-0.2.5.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mm-sol = mm_sol.cli.cli:app