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.
Files changed (52) hide show
  1. {mm_eth-0.7.0 → mm_eth-0.7.1}/PKG-INFO +2 -3
  2. {mm_eth-0.7.0 → mm_eth-0.7.1}/pyproject.toml +2 -4
  3. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/calcs.py +3 -3
  4. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/balances_cmd.py +2 -2
  5. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/deploy_cmd.py +2 -2
  6. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/transfer_cmd.py +2 -3
  7. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/rpc_helpers.py +1 -1
  8. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/validators.py +1 -1
  9. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/retry.py +1 -1
  10. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/conftest.py +3 -3
  11. {mm_eth-0.7.0 → mm_eth-0.7.1}/uv.lock +25 -25
  12. {mm_eth-0.7.0 → mm_eth-0.7.1}/.gitignore +0 -0
  13. {mm_eth-0.7.0 → mm_eth-0.7.1}/README.md +0 -0
  14. {mm_eth-0.7.0 → mm_eth-0.7.1}/dict.dic +0 -0
  15. {mm_eth-0.7.0 → mm_eth-0.7.1}/justfile +0 -0
  16. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/__init__.py +0 -0
  17. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/abi.py +0 -0
  18. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/account.py +0 -0
  19. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/anvil.py +0 -0
  20. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/__init__.py +0 -0
  21. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cli.py +0 -0
  22. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cli_utils.py +0 -0
  23. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/__init__.py +0 -0
  24. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/balance_cmd.py +0 -0
  25. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/node_cmd.py +0 -0
  26. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/solc_cmd.py +0 -0
  27. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/__init__.py +0 -0
  28. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/mnemonic_cmd.py +0 -0
  29. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/cli/cmd/wallet/private_key_cmd.py +0 -0
  30. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/converters.py +0 -0
  31. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/deploy.py +0 -0
  32. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/erc20.py +0 -0
  33. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/py.typed +0 -0
  34. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/rpc.py +0 -0
  35. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/solc.py +0 -0
  36. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/tx.py +0 -0
  37. {mm_eth-0.7.0 → mm_eth-0.7.1}/src/mm_eth/utils.py +0 -0
  38. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/__init__.py +0 -0
  39. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/__init__.py +0 -0
  40. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/__init__.py +0 -0
  41. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_balance_cmd.py +0 -0
  42. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_node_cmd.py +0 -0
  43. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/test_solc_cmd.py +0 -0
  44. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/__init__.py +0 -0
  45. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/test_mnemonic_cmd.py +0 -0
  46. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/cli/cmd/wallet/test_private_key_cmd.py +0 -0
  47. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/contracts/ERC20.sol +0 -0
  48. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_abi.py +0 -0
  49. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_account.py +0 -0
  50. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_converters.py +0 -0
  51. {mm_eth-0.7.0 → mm_eth-0.7.1}/tests/test_rpc.py +0 -0
  52. {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.0
3
+ Version: 0.7.1
4
4
  Requires-Python: >=3.13
5
- Requires-Dist: mm-cryptocurrency>=0.4.7
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.0"
3
+ version = "0.7.1"
4
4
  description = ""
5
5
  requires-python = ">=3.13"
6
6
  dependencies = [
7
- # "websocket-client~=1.8.0",
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 mm_cryptocurrency
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 mm_cryptocurrency.calc_expression_with_vars(expression, variables, unit_decimals=SUFFIX_DECIMALS)
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 mm_cryptocurrency.calc_expression_with_vars(expression, variables, unit_decimals={"t": token_decimals})
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 mm_cryptocurrency import CryptocurrencyConfig
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(CryptocurrencyConfig):
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 mm_cryptocurrency import CryptocurrencyConfig
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(CryptocurrencyConfig):
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(CryptocurrencyConfig):
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,6 +1,6 @@
1
1
  import logging
2
2
 
3
- from mm_cryptocurrency import Nodes, Proxies
3
+ from mm_web3 import Nodes, Proxies
4
4
 
5
5
  from mm_eth import retry
6
6
  from mm_eth.cli import calcs
@@ -1,7 +1,7 @@
1
1
  from collections.abc import Callable
2
2
 
3
3
  import eth_utils
4
- from mm_cryptocurrency import ConfigValidators, PrivateKeyMap, Transfer
4
+ from mm_web3 import ConfigValidators, PrivateKeyMap, Transfer
5
5
 
6
6
  from mm_eth import account
7
7
 
@@ -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 mm_cryptocurrency
4
+ import mm_web3
5
5
  import pytest
6
6
  from dotenv import load_dotenv
7
7
  from eth_typing import ABI
8
- from mm_cryptocurrency import fetch_proxies_sync
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 = mm_cryptocurrency.random_proxy(proxies)
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.0"
527
+ version = "0.7.1"
543
528
  source = { editable = "." }
544
529
  dependencies = [
545
- { name = "mm-cryptocurrency" },
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-cryptocurrency", specifier = ">=0.4.7" },
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.3"
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/e7/4c/74c85ecba531cd29fc74a67e7860d9dd5dcf64b4a73695a223d60d614834/mm_http-0.0.3-py3-none-any.whl", hash = "sha256:b17db95110ca54be488632606e2380ddadfccfb95ab6213a13632f7ba0b2de03", size = 4652, upload-time = "2025-06-10T06:24:08.131Z" },
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.0.4"
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/a6/6b/b287f7d618080ddbe6bbc8091da47ee316c581a3baa22555e108affd7d71/mm_result-0.0.4-py3-none-any.whl", hash = "sha256:edb12be3bd49eca224335067b110fb5a1901d68d52c2a371cdda32d5274a06b7", size = 4907, upload-time = "2025-06-09T15:32:07.204Z" },
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