mm-sol 0.7.0__tar.gz → 0.7.1__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.
- {mm_sol-0.7.0 → mm_sol-0.7.1}/PKG-INFO +2 -2
- {mm_sol-0.7.0 → mm_sol-0.7.1}/pyproject.toml +2 -2
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/calcs.py +2 -2
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cli_utils.py +2 -2
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/balance_cmd.py +1 -1
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/balances_cmd.py +2 -2
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/transfer_cmd.py +6 -6
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/validators.py +3 -3
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/retry.py +1 -1
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/conftest.py +3 -3
- {mm_sol-0.7.0 → mm_sol-0.7.1}/uv.lock +25 -23
- {mm_sol-0.7.0 → mm_sol-0.7.1}/.env.example +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/.gitignore +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/README.md +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/dict.dic +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/justfile +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/account.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cli.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/example_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/node_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/wallet/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/wallet/keypair_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/cmd/wallet/mnemonic_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/examples/balances.toml +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/cli/examples/transfer.toml +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/constants.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/converters.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/py.typed +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/rpc.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/rpc_sync.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/spl_token.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/transfer.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/src/mm_sol/utils.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/cli/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/cli/cmd/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/cli/cmd/wallet/__init__.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/cli/cmd/wallet/test_keypair_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/cli/cmd/wallet/test_mnemonic_cmd.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_account.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_client.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_converters.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_rpc.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_rpc_sync.py +0 -0
- {mm_sol-0.7.0 → mm_sol-0.7.1}/tests/test_spl_token.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mm-sol
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Requires-Python: >=3.13
|
|
5
5
|
Requires-Dist: base58~=2.1.1
|
|
6
6
|
Requires-Dist: jinja2>=3.1.6
|
|
7
|
-
Requires-Dist: mm-
|
|
7
|
+
Requires-Dist: mm-web3~=0.5.1
|
|
8
8
|
Requires-Dist: mnemonic==0.21
|
|
9
9
|
Requires-Dist: socksio>=1.0.0
|
|
10
10
|
Requires-Dist: solana~=0.36.7
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from mm_cryptocurrency import Nodes, Proxies
|
|
2
|
-
from mm_cryptocurrency.calcs import calc_expression_with_vars
|
|
3
1
|
from mm_result import Result
|
|
2
|
+
from mm_web3 import Nodes, Proxies
|
|
3
|
+
from mm_web3.calcs import calc_expression_with_vars
|
|
4
4
|
|
|
5
5
|
from mm_sol import retry
|
|
6
6
|
from mm_sol.constants import UNIT_DECIMALS
|
|
@@ -4,7 +4,7 @@ from pathlib import Path
|
|
|
4
4
|
|
|
5
5
|
import mm_print
|
|
6
6
|
from loguru import logger
|
|
7
|
-
from
|
|
7
|
+
from mm_web3 import Nodes, Proxies, Web3CliConfig, random_node, random_proxy
|
|
8
8
|
from pydantic import BaseModel
|
|
9
9
|
from solders.signature import Signature
|
|
10
10
|
|
|
@@ -20,7 +20,7 @@ class BaseConfigParams(BaseModel):
|
|
|
20
20
|
print_config_and_exit: bool
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
def print_config(config:
|
|
23
|
+
def print_config(config: Web3CliConfig, exclude: set[str] | None = None, count: set[str] | None = None) -> None:
|
|
24
24
|
data = config.model_dump(exclude=exclude)
|
|
25
25
|
if count:
|
|
26
26
|
for k in count:
|
|
@@ -4,7 +4,7 @@ from pathlib import Path
|
|
|
4
4
|
from typing import Annotated, Any
|
|
5
5
|
|
|
6
6
|
import mm_print
|
|
7
|
-
from
|
|
7
|
+
from mm_web3 import ConfigValidators, Web3CliConfig
|
|
8
8
|
from pydantic import BeforeValidator, Field
|
|
9
9
|
|
|
10
10
|
import mm_sol.retry
|
|
@@ -12,7 +12,7 @@ from mm_sol import converters, retry
|
|
|
12
12
|
from mm_sol.cli.validators import Validators
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class Config(
|
|
15
|
+
class Config(Web3CliConfig):
|
|
16
16
|
accounts: Annotated[list[str], BeforeValidator(Validators.sol_addresses(unique=True))]
|
|
17
17
|
tokens: Annotated[list[str], BeforeValidator(Validators.sol_addresses(unique=True))]
|
|
18
18
|
nodes: Annotated[list[str], BeforeValidator(ConfigValidators.nodes())]
|
|
@@ -5,12 +5,12 @@ from typing import Annotated
|
|
|
5
5
|
|
|
6
6
|
import mm_print
|
|
7
7
|
from loguru import logger
|
|
8
|
-
from mm_cryptocurrency import CryptocurrencyConfig
|
|
9
|
-
from mm_cryptocurrency.account import PrivateKeyMap
|
|
10
|
-
from mm_cryptocurrency.calcs import calc_decimal_expression
|
|
11
|
-
from mm_cryptocurrency.log import init_loguru
|
|
12
|
-
from mm_cryptocurrency.validators import Transfer
|
|
13
8
|
from mm_std import utc_now
|
|
9
|
+
from mm_web3 import Web3CliConfig
|
|
10
|
+
from mm_web3.account import PrivateKeyMap
|
|
11
|
+
from mm_web3.calcs import calc_decimal_expression
|
|
12
|
+
from mm_web3.log import init_loguru
|
|
13
|
+
from mm_web3.validators import Transfer
|
|
14
14
|
from pydantic import AfterValidator, BeforeValidator, Field, model_validator
|
|
15
15
|
from rich.console import Console
|
|
16
16
|
from rich.live import Live
|
|
@@ -25,7 +25,7 @@ from mm_sol.cli.validators import Validators
|
|
|
25
25
|
from mm_sol.converters import lamports_to_sol, to_token
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
class Config(
|
|
28
|
+
class Config(Web3CliConfig):
|
|
29
29
|
nodes: Annotated[list[str], BeforeValidator(Validators.nodes())]
|
|
30
30
|
transfers: Annotated[list[Transfer], BeforeValidator(Validators.sol_transfers())]
|
|
31
31
|
private_keys: Annotated[PrivateKeyMap, BeforeValidator(Validators.sol_private_keys())]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from collections.abc import Callable
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
3
|
+
from mm_web3 import ConfigValidators
|
|
4
|
+
from mm_web3.account import PrivateKeyMap
|
|
5
|
+
from mm_web3.validators import Transfer
|
|
6
6
|
|
|
7
7
|
from mm_sol.account import get_public_key, is_address
|
|
8
8
|
from mm_sol.constants import UNIT_DECIMALS
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import os
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import mm_web3
|
|
4
4
|
import pytest
|
|
5
5
|
from dotenv import load_dotenv
|
|
6
|
-
from
|
|
6
|
+
from mm_web3 import fetch_proxies_sync
|
|
7
7
|
from typer.testing import CliRunner
|
|
8
8
|
|
|
9
9
|
load_dotenv()
|
|
@@ -117,7 +117,7 @@ def proxies() -> list[str]:
|
|
|
117
117
|
|
|
118
118
|
@pytest.fixture
|
|
119
119
|
def random_proxy(proxies) -> str | None:
|
|
120
|
-
return
|
|
120
|
+
return mm_web3.random_proxy(proxies)
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
@pytest.fixture
|
|
@@ -439,35 +439,20 @@ wheels = [
|
|
|
439
439
|
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
|
|
440
440
|
]
|
|
441
441
|
|
|
442
|
-
[[package]]
|
|
443
|
-
name = "mm-cryptocurrency"
|
|
444
|
-
version = "0.4.7"
|
|
445
|
-
source = { registry = "https://pypi.org/simple" }
|
|
446
|
-
dependencies = [
|
|
447
|
-
{ name = "loguru" },
|
|
448
|
-
{ name = "mm-http" },
|
|
449
|
-
{ name = "mm-print" },
|
|
450
|
-
{ name = "mm-result" },
|
|
451
|
-
]
|
|
452
|
-
sdist = { url = "https://files.pythonhosted.org/packages/ea/f8/29866a414ba131baa183f9f2b520e6705f264ef55a81ef9d3187cc127b66/mm_cryptocurrency-0.4.7.tar.gz", hash = "sha256:45d8a1313f4f1f5d893b54fb57408c94d2300bb72757b827312c701f8df53f3b", size = 81327, upload-time = "2025-06-11T08:35:01.637Z" }
|
|
453
|
-
wheels = [
|
|
454
|
-
{ url = "https://files.pythonhosted.org/packages/31/ab/f03ebe598a1f1b150e9b78782efdc0d865e13e5189e729f4edf2d1ebddce/mm_cryptocurrency-0.4.7-py3-none-any.whl", hash = "sha256:2357ad856076e297a729918c067f98f54d3d369d9c395b2a51a8cefc7d72593e", size = 15376, upload-time = "2025-06-11T08:34:59.981Z" },
|
|
455
|
-
]
|
|
456
|
-
|
|
457
442
|
[[package]]
|
|
458
443
|
name = "mm-http"
|
|
459
|
-
version = "0.0
|
|
444
|
+
version = "0.1.0"
|
|
460
445
|
source = { registry = "https://pypi.org/simple" }
|
|
461
446
|
dependencies = [
|
|
462
447
|
{ name = "aiohttp" },
|
|
463
448
|
{ name = "aiohttp-socks" },
|
|
464
449
|
{ name = "mm-result" },
|
|
465
|
-
{ name = "pydantic" },
|
|
466
450
|
{ name = "pydash" },
|
|
467
451
|
{ name = "requests", extra = ["socks"] },
|
|
468
452
|
]
|
|
453
|
+
sdist = { url = "https://files.pythonhosted.org/packages/58/da/13e75c1fd5bf19b76076552bd8a403a4a5c0976c1cbb68d124b0c1138d1e/mm_http-0.1.0.tar.gz", hash = "sha256:5afeb49a4d1221413e153ec27fa995c5b0646ea1fc2a4abe67c0cc2ca4e5e44a", size = 47073, upload-time = "2025-06-12T09:00:47.278Z" }
|
|
469
454
|
wheels = [
|
|
470
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
455
|
+
{ url = "https://files.pythonhosted.org/packages/c8/d7/1ef3e282a823a21d350a25182400393680e58e8add168f815e76ac4386d0/mm_http-0.1.0-py3-none-any.whl", hash = "sha256:3cedc4d8e5e4e6013405fa96a91378c2d66e28f3f389e2ddb127b02061a0c24e", size = 4331, upload-time = "2025-06-12T09:00:43.097Z" },
|
|
471
456
|
]
|
|
472
457
|
|
|
473
458
|
[[package]]
|
|
@@ -485,20 +470,21 @@ wheels = [
|
|
|
485
470
|
|
|
486
471
|
[[package]]
|
|
487
472
|
name = "mm-result"
|
|
488
|
-
version = "0.
|
|
473
|
+
version = "0.1.1"
|
|
489
474
|
source = { registry = "https://pypi.org/simple" }
|
|
475
|
+
sdist = { url = "https://files.pythonhosted.org/packages/48/03/82a800b72e611aab08e3bed14dfb59b7b26c3438e1bd7e6a747727f64831/mm_result-0.1.1.tar.gz", hash = "sha256:b00f75f5f4d03a47db99394847b462cb013c3eb111d60aa31e39c5405d5eceb6", size = 31041, upload-time = "2025-06-12T08:56:55.271Z" }
|
|
490
476
|
wheels = [
|
|
491
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
477
|
+
{ url = "https://files.pythonhosted.org/packages/9e/07/8b51ebac3c01536b98cc5a7a35dc3e71ab0deadee95f4bf13d1a23eddbc2/mm_result-0.1.1-py3-none-any.whl", hash = "sha256:d4b45025a08f2f50658aaf2756adfd55c91b0e8ef69a922bfaecd411234e6498", size = 4832, upload-time = "2025-06-12T08:56:53.447Z" },
|
|
492
478
|
]
|
|
493
479
|
|
|
494
480
|
[[package]]
|
|
495
481
|
name = "mm-sol"
|
|
496
|
-
version = "0.7.
|
|
482
|
+
version = "0.7.1"
|
|
497
483
|
source = { editable = "." }
|
|
498
484
|
dependencies = [
|
|
499
485
|
{ name = "base58" },
|
|
500
486
|
{ name = "jinja2" },
|
|
501
|
-
{ name = "mm-
|
|
487
|
+
{ name = "mm-web3" },
|
|
502
488
|
{ name = "mnemonic" },
|
|
503
489
|
{ name = "socksio" },
|
|
504
490
|
{ name = "solana" },
|
|
@@ -521,7 +507,7 @@ dev = [
|
|
|
521
507
|
requires-dist = [
|
|
522
508
|
{ name = "base58", specifier = "~=2.1.1" },
|
|
523
509
|
{ name = "jinja2", specifier = ">=3.1.6" },
|
|
524
|
-
{ name = "mm-
|
|
510
|
+
{ name = "mm-web3", specifier = "~=0.5.1" },
|
|
525
511
|
{ name = "mnemonic", specifier = "==0.21" },
|
|
526
512
|
{ name = "socksio", specifier = ">=1.0.0" },
|
|
527
513
|
{ name = "solana", specifier = "~=0.36.7" },
|
|
@@ -549,6 +535,22 @@ wheels = [
|
|
|
549
535
|
{ url = "https://files.pythonhosted.org/packages/56/22/57aa730c90899e5eff6de212c64d2bcf7d8526f3f2fb2d815718db332f36/mm_std-0.5.3-py3-none-any.whl", hash = "sha256:84f25e3a3dc4b10cab30c63be18ca195928a4cabda01b3cee9a27ba5520b2b92", size = 7532, upload-time = "2025-06-11T06:15:37.551Z" },
|
|
550
536
|
]
|
|
551
537
|
|
|
538
|
+
[[package]]
|
|
539
|
+
name = "mm-web3"
|
|
540
|
+
version = "0.5.1"
|
|
541
|
+
source = { registry = "https://pypi.org/simple" }
|
|
542
|
+
dependencies = [
|
|
543
|
+
{ name = "loguru" },
|
|
544
|
+
{ name = "mm-http" },
|
|
545
|
+
{ name = "mm-print" },
|
|
546
|
+
{ name = "mm-std" },
|
|
547
|
+
{ name = "pydantic" },
|
|
548
|
+
]
|
|
549
|
+
sdist = { url = "https://files.pythonhosted.org/packages/9f/60/75f9b37a8df1fc13b58e996ad1415d5d0248c0082679c3c9d9206b7c2d2d/mm_web3-0.5.1.tar.gz", hash = "sha256:4a3624359ed775027da4fc7c828a478968fb863f5127cc0d1b5bf2b78ffe75a8", size = 81523, upload-time = "2025-06-16T07:58:26.815Z" }
|
|
550
|
+
wheels = [
|
|
551
|
+
{ url = "https://files.pythonhosted.org/packages/cb/16/476324d3bf5df27ad0e3731b2b521f46ca4aec5d66c71f1c47b8d708a29c/mm_web3-0.5.1-py3-none-any.whl", hash = "sha256:c28572a70285e2ed1be4167f2ea094b8e88acce52de2b62ffbe60bf033488110", size = 15058, upload-time = "2025-06-16T07:58:25.701Z" },
|
|
552
|
+
]
|
|
553
|
+
|
|
552
554
|
[[package]]
|
|
553
555
|
name = "mnemonic"
|
|
554
556
|
version = "0.21"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|