mm-sol 0.2.9__tar.gz → 0.2.10__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 (51) hide show
  1. {mm_sol-0.2.9 → mm_sol-0.2.10}/PKG-INFO +1 -1
  2. {mm_sol-0.2.9 → mm_sol-0.2.10}/pyproject.toml +1 -1
  3. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/transfer_sol_cmd.py +9 -2
  4. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/transfer_token_cmd.py +9 -2
  5. {mm_sol-0.2.9 → mm_sol-0.2.10}/uv.lock +1 -1
  6. {mm_sol-0.2.9 → mm_sol-0.2.10}/.env.example +0 -0
  7. {mm_sol-0.2.9 → mm_sol-0.2.10}/.gitignore +0 -0
  8. {mm_sol-0.2.9 → mm_sol-0.2.10}/README.txt +0 -0
  9. {mm_sol-0.2.9 → mm_sol-0.2.10}/dict.dic +0 -0
  10. {mm_sol-0.2.9 → mm_sol-0.2.10}/justfile +0 -0
  11. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/__init__.py +0 -0
  12. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/account.py +0 -0
  13. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/balance.py +0 -0
  14. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/block.py +0 -0
  15. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/__init__.py +0 -0
  16. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/calcs.py +0 -0
  17. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cli.py +0 -0
  18. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cli_utils.py +0 -0
  19. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/__init__.py +0 -0
  20. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/balance_cmd.py +0 -0
  21. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/balances_cmd.py +0 -0
  22. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/example_cmd.py +0 -0
  23. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/node_cmd.py +0 -0
  24. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/wallet/__init__.py +0 -0
  25. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/wallet/keypair_cmd.py +0 -0
  26. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/cmd/wallet/new_cmd.py +0 -0
  27. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/examples/balances.yml +0 -0
  28. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/examples/transfer-sol.yml +0 -0
  29. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/examples/transfer-token.yml +0 -0
  30. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/cli/validators.py +0 -0
  31. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/constants.py +0 -0
  32. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/converters.py +0 -0
  33. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/py.typed +0 -0
  34. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/rpc.py +0 -0
  35. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/solana_cli.py +0 -0
  36. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/token.py +0 -0
  37. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/transfer.py +0 -0
  38. {mm_sol-0.2.9 → mm_sol-0.2.10}/src/mm_sol/utils.py +0 -0
  39. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/__init__.py +0 -0
  40. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/cli/__init__.py +0 -0
  41. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/cli/cmd/__init__.py +0 -0
  42. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/cli/cmd/wallet/__init__.py +0 -0
  43. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/cli/cmd/wallet/test_keypair_cmd.py +0 -0
  44. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/cli/cmd/wallet/test_new_cmd.py +0 -0
  45. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/conftest.py +0 -0
  46. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_account.py +0 -0
  47. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_balance.py +0 -0
  48. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_client.py +0 -0
  49. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_converters.py +0 -0
  50. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_rpc.py +0 -0
  51. {mm_sol-0.2.9 → mm_sol-0.2.10}/tests/test_token.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mm-sol
3
- Version: 0.2.9
3
+ Version: 0.2.10
4
4
  Requires-Python: >=3.12
5
5
  Requires-Dist: base58~=2.1.1
6
6
  Requires-Dist: jinja2>=3.1.5
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mm-sol"
3
- version = "0.2.9"
3
+ version = "0.2.10"
4
4
  description = ""
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
@@ -1,13 +1,13 @@
1
1
  import sys
2
2
  import time
3
3
  from pathlib import Path
4
- from typing import Annotated
4
+ from typing import Annotated, Self
5
5
 
6
6
  import mm_crypto_utils
7
7
  from loguru import logger
8
8
  from mm_crypto_utils import AddressToPrivate, TxRoute
9
9
  from mm_std import BaseConfig, Err, utc_now
10
- from pydantic import AfterValidator, BeforeValidator
10
+ from pydantic import AfterValidator, BeforeValidator, model_validator
11
11
 
12
12
  from mm_sol import transfer
13
13
  from mm_sol.cli import calcs, cli_utils
@@ -33,6 +33,13 @@ class Config(BaseConfig):
33
33
  def from_addresses(self) -> list[str]:
34
34
  return [r.from_address for r in self.routes]
35
35
 
36
+ @model_validator(mode="after")
37
+ def final_validator(self) -> Self:
38
+ if not self.private_keys.contains_all_addresses(self.from_addresses):
39
+ raise ValueError("private keys are not set for all addresses")
40
+
41
+ return self
42
+
36
43
 
37
44
  def run(
38
45
  config_path: str,
@@ -1,14 +1,14 @@
1
1
  import sys
2
2
  import time
3
3
  from pathlib import Path
4
- from typing import Annotated
4
+ from typing import Annotated, Self
5
5
 
6
6
  import mm_crypto_utils
7
7
  import typer
8
8
  from loguru import logger
9
9
  from mm_crypto_utils import AddressToPrivate, TxRoute
10
10
  from mm_std import BaseConfig, Err, fatal, utc_now
11
- from pydantic import AfterValidator, BeforeValidator
11
+ from pydantic import AfterValidator, BeforeValidator, model_validator
12
12
 
13
13
  from mm_sol import transfer
14
14
  from mm_sol.cli import calcs, cli_utils
@@ -35,6 +35,13 @@ class Config(BaseConfig):
35
35
  def from_addresses(self) -> list[str]:
36
36
  return [r.from_address for r in self.routes]
37
37
 
38
+ @model_validator(mode="after")
39
+ def final_validator(self) -> Self:
40
+ if not self.private_keys.contains_all_addresses(self.from_addresses):
41
+ raise ValueError("private keys are not set for all addresses")
42
+
43
+ return self
44
+
38
45
 
39
46
  def run(
40
47
  config_path: str,
@@ -493,7 +493,7 @@ wheels = [
493
493
 
494
494
  [[package]]
495
495
  name = "mm-sol"
496
- version = "0.2.9"
496
+ version = "0.2.10"
497
497
  source = { editable = "." }
498
498
  dependencies = [
499
499
  { name = "base58" },
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