mm-eth 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_eth-0.7.0 → mm_eth-0.7.1}/PKG-INFO +2 -3
- {mm_eth-0.7.0 → mm_eth-0.7.1}/pyproject.toml +2 -4
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/calcs.py +3 -3
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/balances_cmd.py +2 -2
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/deploy_cmd.py +2 -2
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/transfer_cmd.py +2 -3
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/rpc_helpers.py +1 -1
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/validators.py +1 -1
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/retry.py +1 -1
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/conftest.py +3 -3
- {mm_eth-0.7.0 → mm_eth-0.7.1}/uv.lock +25 -25
- {mm_eth-0.7.0 → mm_eth-0.7.1}/.gitignore +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/README.md +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/dict.dic +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/justfile +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/abi.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/account.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/anvil.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cli.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cli_utils.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/balance_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/node_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/solc_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/mnemonic_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/private_key_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/converters.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/deploy.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/erc20.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/py.typed +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/rpc.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/solc.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/tx.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/utils.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_balance_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_node_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_solc_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/__init__.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/test_mnemonic_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/test_private_key_cmd.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/contracts/ERC20.sol +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_abi.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_account.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_converters.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_rpc.py +0 -0
- {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_tx.py +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mm-eth
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Requires-Python: >=3.13
|
|
5
|
-
Requires-Dist: mm-
|
|
6
|
-
Requires-Dist: mm-std>=0.5.3
|
|
5
|
+
Requires-Dist: mm-web3~=0.5.1
|
|
7
6
|
Requires-Dist: typer~=0.16.0
|
|
8
7
|
Requires-Dist: web3~=7.12.0
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mm-eth"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.1"
|
|
4
4
|
description = ""
|
|
5
5
|
requires-python = ">=3.13"
|
|
6
6
|
dependencies = [
|
|
7
|
-
|
|
7
|
+
"mm-web3~=0.5.1",
|
|
8
8
|
"web3~=7.12.0",
|
|
9
9
|
"typer~=0.16.0",
|
|
10
|
-
"mm-cryptocurrency>=0.4.7",
|
|
11
|
-
"mm-std>=0.5.3",
|
|
12
10
|
]
|
|
13
11
|
[project.scripts]
|
|
14
12
|
mm-eth = "mm_eth.cli.cli:app"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import mm_web3
|
|
2
2
|
|
|
3
3
|
from mm_eth.cli.validators import SUFFIX_DECIMALS
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def calc_eth_expression(expression: str, variables: dict[str, int] | None = None) -> int:
|
|
7
|
-
return
|
|
7
|
+
return mm_web3.calc_expression_with_vars(expression, variables, unit_decimals=SUFFIX_DECIMALS)
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def calc_token_expression(expression: str, token_decimals: int, variables: dict[str, int] | None = None) -> int:
|
|
11
|
-
return
|
|
11
|
+
return mm_web3.calc_expression_with_vars(expression, variables, unit_decimals={"t": token_decimals})
|
|
@@ -2,7 +2,7 @@ from dataclasses import dataclass
|
|
|
2
2
|
from typing import Annotated
|
|
3
3
|
|
|
4
4
|
import mm_print
|
|
5
|
-
from
|
|
5
|
+
from mm_web3 import Web3CliConfig
|
|
6
6
|
from pydantic import BeforeValidator
|
|
7
7
|
from rich.live import Live
|
|
8
8
|
from rich.table import Table
|
|
@@ -12,7 +12,7 @@ from mm_eth.cli.cli_utils import BaseConfigParams
|
|
|
12
12
|
from mm_eth.cli.validators import Validators
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class Config(
|
|
15
|
+
class Config(Web3CliConfig):
|
|
16
16
|
addresses: Annotated[list[str], BeforeValidator(Validators.eth_addresses(unique=True))]
|
|
17
17
|
tokens: Annotated[list[str], BeforeValidator(Validators.eth_addresses(unique=True))]
|
|
18
18
|
nodes: Annotated[list[str], BeforeValidator(Validators.nodes())]
|
|
@@ -2,14 +2,14 @@ from typing import cast
|
|
|
2
2
|
|
|
3
3
|
import mm_print
|
|
4
4
|
import tomlkit
|
|
5
|
-
from
|
|
5
|
+
from mm_web3 import Web3CliConfig
|
|
6
6
|
from pydantic import StrictStr
|
|
7
7
|
|
|
8
8
|
from mm_eth import account, deploy, retry
|
|
9
9
|
from mm_eth.cli.cli_utils import BaseConfigParams
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class Config(
|
|
12
|
+
class Config(Web3CliConfig):
|
|
13
13
|
private_key: StrictStr
|
|
14
14
|
nonce: int | None = None
|
|
15
15
|
gas: int
|
|
@@ -5,9 +5,8 @@ from pathlib import Path
|
|
|
5
5
|
from typing import Annotated, Literal, Self, cast
|
|
6
6
|
|
|
7
7
|
from loguru import logger
|
|
8
|
-
from mm_cryptocurrency import CryptocurrencyConfig, PrivateKeyMap, Transfer, calc_decimal_expression
|
|
9
|
-
from mm_cryptocurrency.log import init_loguru
|
|
10
8
|
from mm_std import utc_now
|
|
9
|
+
from mm_web3 import PrivateKeyMap, Transfer, Web3CliConfig, calc_decimal_expression, init_loguru
|
|
11
10
|
from pydantic import AfterValidator, BeforeValidator, Field, model_validator
|
|
12
11
|
from rich.console import Console
|
|
13
12
|
from rich.live import Live
|
|
@@ -20,7 +19,7 @@ from mm_eth.cli.validators import Validators
|
|
|
20
19
|
from mm_eth.converters import from_wei
|
|
21
20
|
|
|
22
21
|
|
|
23
|
-
class Config(
|
|
22
|
+
class Config(Web3CliConfig):
|
|
24
23
|
nodes: Annotated[list[str], BeforeValidator(Validators.nodes())]
|
|
25
24
|
chain_id: int
|
|
26
25
|
transfers: Annotated[list[Transfer], BeforeValidator(Validators.eth_transfers())]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from typing import Any, Literal
|
|
2
2
|
|
|
3
3
|
from eth_typing import BlockIdentifier
|
|
4
|
-
from mm_cryptocurrency import Nodes, Proxies, retry_with_node_and_proxy
|
|
5
4
|
from mm_result import Result
|
|
5
|
+
from mm_web3 import Nodes, Proxies, retry_with_node_and_proxy
|
|
6
6
|
from web3.types import TxReceipt
|
|
7
7
|
|
|
8
8
|
from mm_eth import rpc
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import mm_web3
|
|
5
5
|
import pytest
|
|
6
6
|
from dotenv import load_dotenv
|
|
7
7
|
from eth_typing import ABI
|
|
8
|
-
from
|
|
8
|
+
from mm_web3 import fetch_proxies_sync
|
|
9
9
|
from typer.testing import CliRunner
|
|
10
10
|
|
|
11
11
|
from mm_eth.anvil import Anvil
|
|
@@ -101,7 +101,7 @@ def proxies() -> list[str]:
|
|
|
101
101
|
|
|
102
102
|
@pytest.fixture()
|
|
103
103
|
def random_proxy(proxies: list[str]) -> str:
|
|
104
|
-
res =
|
|
104
|
+
res = mm_web3.random_proxy(proxies)
|
|
105
105
|
if not res:
|
|
106
106
|
raise RuntimeError("No proxies available")
|
|
107
107
|
return res
|
|
@@ -522,28 +522,12 @@ wheels = [
|
|
|
522
522
|
{ 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" },
|
|
523
523
|
]
|
|
524
524
|
|
|
525
|
-
[[package]]
|
|
526
|
-
name = "mm-cryptocurrency"
|
|
527
|
-
version = "0.4.7"
|
|
528
|
-
source = { registry = "https://pypi.org/simple" }
|
|
529
|
-
dependencies = [
|
|
530
|
-
{ name = "loguru" },
|
|
531
|
-
{ name = "mm-http" },
|
|
532
|
-
{ name = "mm-print" },
|
|
533
|
-
{ name = "mm-result" },
|
|
534
|
-
]
|
|
535
|
-
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" }
|
|
536
|
-
wheels = [
|
|
537
|
-
{ 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" },
|
|
538
|
-
]
|
|
539
|
-
|
|
540
525
|
[[package]]
|
|
541
526
|
name = "mm-eth"
|
|
542
|
-
version = "0.7.
|
|
527
|
+
version = "0.7.1"
|
|
543
528
|
source = { editable = "." }
|
|
544
529
|
dependencies = [
|
|
545
|
-
{ name = "mm-
|
|
546
|
-
{ name = "mm-std" },
|
|
530
|
+
{ name = "mm-web3" },
|
|
547
531
|
{ name = "typer" },
|
|
548
532
|
{ name = "web3" },
|
|
549
533
|
]
|
|
@@ -562,8 +546,7 @@ dev = [
|
|
|
562
546
|
|
|
563
547
|
[package.metadata]
|
|
564
548
|
requires-dist = [
|
|
565
|
-
{ name = "mm-
|
|
566
|
-
{ name = "mm-std", specifier = ">=0.5.3" },
|
|
549
|
+
{ name = "mm-web3", specifier = "~=0.5.1" },
|
|
567
550
|
{ name = "typer", specifier = "~=0.16.0" },
|
|
568
551
|
{ name = "web3", specifier = "~=7.12.0" },
|
|
569
552
|
]
|
|
@@ -582,18 +565,18 @@ dev = [
|
|
|
582
565
|
|
|
583
566
|
[[package]]
|
|
584
567
|
name = "mm-http"
|
|
585
|
-
version = "0.0
|
|
568
|
+
version = "0.1.0"
|
|
586
569
|
source = { registry = "https://pypi.org/simple" }
|
|
587
570
|
dependencies = [
|
|
588
571
|
{ name = "aiohttp" },
|
|
589
572
|
{ name = "aiohttp-socks" },
|
|
590
573
|
{ name = "mm-result" },
|
|
591
|
-
{ name = "pydantic" },
|
|
592
574
|
{ name = "pydash" },
|
|
593
575
|
{ name = "requests", extra = ["socks"] },
|
|
594
576
|
]
|
|
577
|
+
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" }
|
|
595
578
|
wheels = [
|
|
596
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
579
|
+
{ 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" },
|
|
597
580
|
]
|
|
598
581
|
|
|
599
582
|
[[package]]
|
|
@@ -611,10 +594,11 @@ wheels = [
|
|
|
611
594
|
|
|
612
595
|
[[package]]
|
|
613
596
|
name = "mm-result"
|
|
614
|
-
version = "0.
|
|
597
|
+
version = "0.1.1"
|
|
615
598
|
source = { registry = "https://pypi.org/simple" }
|
|
599
|
+
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" }
|
|
616
600
|
wheels = [
|
|
617
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
601
|
+
{ 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" },
|
|
618
602
|
]
|
|
619
603
|
|
|
620
604
|
[[package]]
|
|
@@ -626,6 +610,22 @@ wheels = [
|
|
|
626
610
|
{ 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" },
|
|
627
611
|
]
|
|
628
612
|
|
|
613
|
+
[[package]]
|
|
614
|
+
name = "mm-web3"
|
|
615
|
+
version = "0.5.1"
|
|
616
|
+
source = { registry = "https://pypi.org/simple" }
|
|
617
|
+
dependencies = [
|
|
618
|
+
{ name = "loguru" },
|
|
619
|
+
{ name = "mm-http" },
|
|
620
|
+
{ name = "mm-print" },
|
|
621
|
+
{ name = "mm-std" },
|
|
622
|
+
{ name = "pydantic" },
|
|
623
|
+
]
|
|
624
|
+
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" }
|
|
625
|
+
wheels = [
|
|
626
|
+
{ 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" },
|
|
627
|
+
]
|
|
628
|
+
|
|
629
629
|
[[package]]
|
|
630
630
|
name = "msgpack"
|
|
631
631
|
version = "1.1.0"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|