tonutils 1.0.0a2__py3-none-any.whl → 1.0.0a4__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.
@@ -1,10 +1,21 @@
1
+ import typing as t
2
+
1
3
  from .liteserver import LiteserverClient
2
4
  from .quicknode import QuicknodeClient
3
5
  from .tatum import TatumClient
4
6
  from .tonapi import TonapiClient
5
7
  from .toncenter import ToncenterClient
6
8
 
9
+ ClientLike = t.Union[
10
+ LiteserverClient,
11
+ QuicknodeClient,
12
+ TatumClient,
13
+ ToncenterClient,
14
+ TonapiClient,
15
+ ]
16
+
7
17
  __all__ = [
18
+ "ClientLike",
8
19
  "LiteserverClient",
9
20
  "QuicknodeClient",
10
21
  "TatumClient",
@@ -37,6 +37,10 @@ def _ensure_api_ready(func: F) -> F:
37
37
  raise PytoniqDependencyError()
38
38
  if not self.api.inited:
39
39
  await self.api.start_up()
40
+ if len(self.api.alive_peers_num) == 0:
41
+ if self.api.inited:
42
+ await self.api.close_all()
43
+ await self.api.start_up()
40
44
  return await func(self, *args, **kwargs)
41
45
 
42
46
  return t.cast(F, wrapper)
@@ -1,18 +1,35 @@
1
+ import typing as t
2
+
1
3
  from .get_methods import (
2
4
  JettonMasterGetMethods,
3
5
  JettonWalletGetMethods,
4
6
  )
5
7
  from .master import (
8
+ BaseJettonMaster,
6
9
  JettonMasterStandard,
7
10
  JettonMasterStablecoin,
8
11
  JettonMasterStablecoinV2,
9
12
  )
10
13
  from .wallet import (
14
+ BaseJettonWallet,
11
15
  JettonWalletStandard,
12
16
  JettonWalletStablecoin,
13
17
  JettonWalletStablecoinV2,
14
18
  )
15
19
 
20
+ JettonMasterLike = t.Union[
21
+ BaseJettonMaster,
22
+ JettonMasterStandard,
23
+ JettonMasterStablecoin,
24
+ JettonMasterStablecoinV2,
25
+ ]
26
+ JettonWalletLike = t.Union[
27
+ BaseJettonWallet,
28
+ JettonWalletStandard,
29
+ JettonWalletStablecoin,
30
+ JettonWalletStablecoinV2,
31
+ ]
32
+
16
33
  __all__ = [
17
34
  "JettonMasterGetMethods",
18
35
  "JettonWalletGetMethods",
@@ -1,3 +1,5 @@
1
+ import typing as t
2
+
1
3
  from .collection import (
2
4
  BaseNFTCollection,
3
5
  NFTCollectionEditable,
@@ -14,9 +16,23 @@ from .item import (
14
16
  NFTItemStandard,
15
17
  )
16
18
 
19
+ NFTCollectionLike = t.Union[
20
+ BaseNFTCollection,
21
+ NFTCollectionEditable,
22
+ NFTCollectionStandard,
23
+ ]
24
+ NFTItemLike = t.Union[
25
+ BaseNFTItem,
26
+ NFTItemEditable,
27
+ NFTItemSoulbound,
28
+ NFTItemStandard,
29
+ ]
30
+
17
31
  __all__ = [
18
32
  "BaseNFTCollection",
19
33
  "BaseNFTItem",
34
+ "NFTCollectionLike",
35
+ "NFTItemLike",
20
36
  "NFTCollectionGetMethods",
21
37
  "NFTItemGetMethods",
22
38
  "NFTCollectionEditable",
@@ -81,7 +81,7 @@ class NFTItemStandard(BaseNFTItem[DStandard, C]):
81
81
 
82
82
  class NFTItemEditable(BaseNFTItem[DEditable, C]):
83
83
  _data_model = NFTItemEditableData
84
- VERSION = NFTItemVersion.NFTItemStandard
84
+ VERSION = NFTItemVersion.NFTItemEditable
85
85
 
86
86
  @property
87
87
  def editor_address(self) -> Address:
@@ -96,7 +96,7 @@ class NFTItemEditable(BaseNFTItem[DEditable, C]):
96
96
 
97
97
  class NFTItemSoulbound(BaseNFTItem[DSoulbound, C]):
98
98
  _data_model = NFTItemSoulboundData
99
- VERSION = NFTItemVersion.NFTItemStandard
99
+ VERSION = NFTItemVersion.NFTItemSoulbound
100
100
 
101
101
  @property
102
102
  def authority_address(self) -> t.Optional[Address]:
@@ -1,6 +1,7 @@
1
+ import typing as t
2
+
1
3
  from .base import BaseWallet
2
4
  from .get_methods import WalletGetMethods
3
-
4
5
  from .versions import (
5
6
  WalletHighloadV2,
6
7
  WalletHighloadV3R1,
@@ -18,8 +19,27 @@ from .versions import (
18
19
  WalletV5R1,
19
20
  )
20
21
 
22
+ WalletLike = t.Union[
23
+ BaseWallet,
24
+ WalletHighloadV2,
25
+ WalletHighloadV3R1,
26
+ WalletPreprocessedV2,
27
+ WalletV1R1,
28
+ WalletV1R2,
29
+ WalletV1R3,
30
+ WalletV2R1,
31
+ WalletV2R2,
32
+ WalletV3R1,
33
+ WalletV3R2,
34
+ WalletV4R1,
35
+ WalletV4R2,
36
+ WalletV5Beta,
37
+ WalletV5R1,
38
+ ]
39
+
21
40
  __all__ = [
22
41
  "BaseWallet",
42
+ "WalletLike",
23
43
  "WalletGetMethods",
24
44
  "WalletHighloadV2",
25
45
  "WalletHighloadV3R1",
@@ -139,6 +139,7 @@ __all__ = [
139
139
  "JettonMintBody",
140
140
  "JettonMasterStandardData",
141
141
  "JettonMasterStablecoinData",
142
+ "JettonMasterVersion",
142
143
  "JettonInternalTransferBody",
143
144
  "JettonStandardChangeAdminBody",
144
145
  "JettonStandardChangeContentBody",
tonutils/types/common.py CHANGED
@@ -28,8 +28,8 @@ class WorkchainID(int, Enum):
28
28
 
29
29
 
30
30
  class MetadataPrefix(int, Enum):
31
- ONCHAIN = 0x00
32
- OFFCHAIN = 0x01
31
+ ONCHAIN = 0
32
+ OFFCHAIN = 1
33
33
 
34
34
 
35
35
  DEFAULT_SUBWALLET_ID = 698983191
@@ -7,9 +7,9 @@ from pytoniq_core import (
7
7
  Builder,
8
8
  Cell,
9
9
  Slice,
10
+ TlbScheme,
10
11
  HashMap,
11
12
  begin_cell,
12
- TlbScheme,
13
13
  )
14
14
 
15
15
  from ...types.common import MetadataPrefix
@@ -43,7 +43,7 @@ class OnchainContent(TlbScheme):
43
43
  def _value_serializer(v: str, b: Builder) -> Builder:
44
44
  cell = begin_cell()
45
45
  cell.store_uint(MetadataPrefix.ONCHAIN, 8)
46
- cell.store_snake_string(v)
46
+ cell.store_snake_string(str(v))
47
47
  return b.store_ref(cell.end_cell())
48
48
 
49
49
  @staticmethod
@@ -21,6 +21,10 @@ def build_external_msg_any(
21
21
  body: t.Optional[Cell] = None,
22
22
  state_init: t.Optional[StateInit] = None,
23
23
  ) -> MessageAny:
24
+ if isinstance(src, str):
25
+ src = Address(src)
26
+ if isinstance(dest, str):
27
+ dest = Address(dest)
24
28
  info = ExternalMsgInfo(src=src, dest=dest, import_fee=import_fee)
25
29
  return MessageAny(info, state_init, body)
26
30
 
@@ -39,6 +43,10 @@ def build_internal_msg_any(
39
43
  body: t.Optional[Cell] = None,
40
44
  state_init: t.Optional[StateInit] = None,
41
45
  ) -> MessageAny:
46
+ if isinstance(src, str):
47
+ src = Address(src)
48
+ if isinstance(dest, str):
49
+ dest = Address(dest)
42
50
  if isinstance(value, int):
43
51
  value = CurrencyCollection(value)
44
52
  if bounce is None:
@@ -62,13 +70,15 @@ def build_internal_msg_any(
62
70
 
63
71
 
64
72
  def build_internal_wallet_msg(
65
- dest: Address,
73
+ dest: t.Union[Address, str],
66
74
  send_mode: t.Optional[int] = None,
67
75
  value: int = 0,
68
76
  body: t.Optional[Cell] = None,
69
77
  state_init: t.Optional[StateInit] = None,
70
78
  bounce: t.Optional[bool] = None,
71
79
  ) -> WalletMessage:
80
+ if isinstance(dest, str):
81
+ dest = Address(dest)
72
82
  if send_mode is None:
73
83
  send_mode = DEFAULT_SENDMODE
74
84
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tonutils
3
- Version: 1.0.0a2
3
+ Version: 1.0.0a4
4
4
  Summary: Tonutils is a high-level, object-oriented Python library designed to facilitate seamless interactions with the TON blockchain.
5
5
  Home-page: https://github.com/nessshon/tonutils
6
6
  Author: nessshon
@@ -24,7 +24,7 @@ Classifier: Environment :: Console
24
24
  Requires-Python: >=3.10
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE
27
- Requires-Dist: pyapiq>=0.1.3
27
+ Requires-Dist: pyapiq>=0.1.5
28
28
  Requires-Dist: pytoniq-core>=0.1.44
29
29
  Requires-Dist: PyNaCl~=1.5.0
30
30
  Provides-Extra: pytoniq
@@ -1,10 +1,10 @@
1
1
  tonutils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  tonutils/exceptions.py,sha256=4TZfUDgjjWgEXLyyul_f0Ho_otavUWUJpWjJ6wJvhXQ,2295
3
3
  tonutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- tonutils/clients/__init__.py,sha256=Pv3XNli7YSKV8VBalSB4c1_ZoirLYnZpiQXN9_aBHJU,307
4
+ tonutils/clients/__init__.py,sha256=_sUV8Sihdq3EaXG2iE6ZEBgH9seb26JhimPXDQ-cU6U,469
5
5
  tonutils/clients/base.py,sha256=W3WbLTyFN7XoXtdXH2u455g2Zx10mArEHNOoBpIy6aI,2784
6
6
  tonutils/clients/liteserver/__init__.py,sha256=om0ZCoEfiPcjGOic9FigqBQ2C6_m8T0WffIye49Gg6Q,69
7
- tonutils/clients/liteserver/client.py,sha256=0_5sbSLmdTh8-LwJKEC_CcXQN0rwbtfrW42pyqv46dY,4815
7
+ tonutils/clients/liteserver/client.py,sha256=-gE-9qYbgIRjVDxTC37LDXjUvC3Ijcg2N9M5AaDHAHk,4975
8
8
  tonutils/clients/liteserver/stub.py,sha256=_8HXnBf7AjQvOkOCHulgCVxEYLzzYElXrdsRQaNA-KA,1827
9
9
  tonutils/clients/quicknode/__init__.py,sha256=Utv24ZWPiBZruQxWvXi4Ojn9HbygcAgDirBzzeQZC_M,67
10
10
  tonutils/clients/quicknode/api.py,sha256=lY1Nt8vN8r4WnExegt7Kw8_UKnUQXatHSGb6CYCSN10,423
@@ -23,15 +23,15 @@ tonutils/clients/toncenter/models.py,sha256=-F-5I58vOisxjl7W1lcKmQcMjs6T-p1tOk3Y
23
23
  tonutils/contracts/__init__.py,sha256=Kuv_37jPtxywT2-pi0O0tZbLgp18ykgD8ylg-ThtG7A,1650
24
24
  tonutils/contracts/base.py,sha256=qYSax2laOMXaV_2sHWPbE7mqZcfX_gpqpS5Ratq672g,4553
25
25
  tonutils/contracts/codes.py,sha256=PXRBOQcmWdpPi7catG3MFDPN8HMtVIr-e3p9Qf5JFI8,24989
26
- tonutils/contracts/jetton/__init__.py,sha256=7WptXmliARinDfsO2CX1mB_p8V44ZbWqvqdQPxvcEzE,556
26
+ tonutils/contracts/jetton/__init__.py,sha256=7DDd_aX59gXqSqy43AcgB2Y3a8nTFbkdPgNge3YbQsY,893
27
27
  tonutils/contracts/jetton/get_methods.py,sha256=yYe1WRCl9fP4BPL6Miy5rti8idZdeuDWZpWsu9pPujw,1831
28
28
  tonutils/contracts/jetton/master.py,sha256=wJvRsLeQRCUai6L1KMTsn3j5-gZPCKMHPgkOfg3IO3A,7717
29
29
  tonutils/contracts/jetton/wallet.py,sha256=i57dtF41YemkSZT5E_nSS6qCRuh6wzQlLcZJy32dsbs,1946
30
- tonutils/contracts/nft/__init__.py,sha256=gd4d7tsoqukEEl_zBp-_ESK15jyB3aBs6uRMObGKEQ8,532
30
+ tonutils/contracts/nft/__init__.py,sha256=SfCghA9NSyklcd6Au1tt1KWCr77hMahG5nTuN9dQcxw,811
31
31
  tonutils/contracts/nft/collection.py,sha256=TZgHfVGAM31WFGT-6BdNlFUtyDP64_NGTxfma0g-iZk,3279
32
32
  tonutils/contracts/nft/get_methods.py,sha256=DtDxcQG4loB1wpJZ11eBw8X-GJQxyslslo6uzugSTkI,3127
33
- tonutils/contracts/nft/item.py,sha256=3pvHHYnoi5LOwGTrt_34pjW-1Y0W5tG39G3eYpUFH2Y,3097
34
- tonutils/contracts/wallet/__init__.py,sha256=bOBvD_Qa6BfiZd6EyYy77_FE07fBOP3EetEs7AghFsk,702
33
+ tonutils/contracts/nft/item.py,sha256=l8kANSzC7OfYyt6FvHLb0NNt8aMtb0fPAR71lFxpP9A,3098
34
+ tonutils/contracts/wallet/__init__.py,sha256=0rvBfSZWnHOnq5F4WD87z3Ip2N9XFimcPbK1HleSz1c,1030
35
35
  tonutils/contracts/wallet/base.py,sha256=YnWDZjGML5kzAOCWASNJZgIb4rwGA15jS_LLaCxSSfc,9121
36
36
  tonutils/contracts/wallet/get_methods.py,sha256=ViVIJyl4hLaMRvomiSdVo4uDnBKMmNNKt5KEI27jy1k,3807
37
37
  tonutils/contracts/wallet/versions/__init__.py,sha256=jl2i892oMC-TCzYbgpZeLe12A1vysjCHsHJiUiWiBzM,683
@@ -47,9 +47,9 @@ tonutils/protocols/client.py,sha256=DTrmDzDhjZc1kfQLzpIMP_Jifh6b2yBc47uZh5-y68U,
47
47
  tonutils/protocols/contract.py,sha256=hqkkEhLM2WXRBsaS9L-JubPRUznJTT74WImGDPscQmM,2115
48
48
  tonutils/protocols/wallet.py,sha256=ZqCLlQCvuPSj11SLTuT9FEobOtlGJe2zf0-BHuGtA1Q,2863
49
49
  tonutils/tonconnect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- tonutils/types/__init__.py,sha256=cAK6HuuWgx0WpG8a5xz_PIWLPxj6-iPLhNS3vqzxcjw,5252
50
+ tonutils/types/__init__.py,sha256=6UGWAhY9OIiz1F-c-wTSSgphmO2x_yLPUhYBFXUDog0,5279
51
51
  tonutils/types/client.py,sha256=WmVm6m8SLiunh2bUAh4oiXPheL6qCAqbk-i2O6I4xHE,133
52
- tonutils/types/common.py,sha256=b3ehzqKV6YUFHT3NVM_OORoCH-EexbdLkDfVtSN4fcI,787
52
+ tonutils/types/common.py,sha256=FwyOAZO6ssix9k67nNnhGygh7h6oHDzapYy63U5pemc,781
53
53
  tonutils/types/configs.py,sha256=bmvocEKvUfR3OoqmTprOQZwddApLGdfMEBFbFqtl84M,1758
54
54
  tonutils/types/contract.py,sha256=JRvjLGzZIn9hSrC2GDcDgoM-uqezMHgXkpJr_3t-EyI,2589
55
55
  tonutils/types/keystructs.py,sha256=zthwLTbvfi8wUPrCW4nqcn9FE4ktcvXXVx-4vDodWo0,2526
@@ -58,7 +58,7 @@ tonutils/types/opcodes.py,sha256=3w1gyMfWuA3GCXjsX90Wt08FXUoCITkrMw_uOBpciwc,787
58
58
  tonutils/types/params.py,sha256=iTJ47E-gxf6BVFYVIiYxoF8IvMWjIGax-wScpDWT9HQ,2185
59
59
  tonutils/types/stack.py,sha256=zJg4-xQdOrvSqeW07y2Mmusui6slcskTQFWwmsfoiKQ,384
60
60
  tonutils/types/tlb/__init__.py,sha256=Nivz9FwOM5XpyOqxt1um_0K3c9WOkQ4h7BFlT_wNbKs,3035
61
- tonutils/types/tlb/content.py,sha256=n9uvY0XIfb-qHmWsLhDkTVUVgCferwJnRAN5vwXY1W4,4110
61
+ tonutils/types/tlb/content.py,sha256=Srhi7z_8cUG5kg1XlIuygW-i9kgYI39oTonTS2oXzfw,4115
62
62
  tonutils/types/tlb/contract.py,sha256=SK17Ztzl6pNxctsD0pVKYB10Dou2wPp8WnRGCdpEAVY,166
63
63
  tonutils/types/tlb/jetton.py,sha256=8ofpXYQ87Zt0EkX35K-xZtx9qCDMnnGUBOhIheajlMI,18787
64
64
  tonutils/types/tlb/msg.py,sha256=ILvqqUVzgzCHqGnGL-G2OTGYSdwUUG0t5XLqOXVfzf8,1079
@@ -67,15 +67,15 @@ tonutils/types/tlb/text.py,sha256=cc4R67OPhkUx85HU-mgf3Psn11zLOLUQxo3sfCRNvhk,15
67
67
  tonutils/types/tlb/wallet.py,sha256=T7ULfJ9W_ixxv9yRAlj1rYeie3WkwsB9PAxgkXcTVDI,8649
68
68
  tonutils/utils/__init__.py,sha256=CI0aztUKPY42lad0YwHgpDatPBdFOYFG59AygwWBmuc,1016
69
69
  tonutils/utils/converters.py,sha256=CaK3dl9pGuN7IddKlDZJAu6j3gQSnnHqn9PEYnztp6A,1420
70
- tonutils/utils/msg_builders.py,sha256=o3dK5Weak9IYqHeY7D__YRkrlyYuEnuT9bH1NaHvQ5k,2090
70
+ tonutils/utils/msg_builders.py,sha256=Ca3eVaz01EHN3VGP79ZWldyLZufJvcIDqTqWXC3ifIQ,2393
71
71
  tonutils/utils/parse_config.py,sha256=TecP4pmf1XeFvhdcwyOsg0zC7rh3X9ZDNreuD1G-mPY,884
72
72
  tonutils/utils/stack_codec.py,sha256=YnO0ZoXd-WHWDif58QMu5RJaPmRXovQtzCz-5KXlSbg,7029
73
73
  tonutils/utils/text_cipher.py,sha256=4-_b8Uacu7cIwgOOmfIcHiCS05YLby61wF1K4YW3xdo,4767
74
74
  tonutils/utils/validations.py,sha256=wdZx3i8QXHwEroyCeYz72TcH-2wRtaxQJBcCmE7aTAs,829
75
75
  tonutils/utils/value_utils.py,sha256=bkhK6GHKe_FgyTAKmoVM9EOFuTziFRO3yk7D4RRxnlo,1658
76
76
  tonutils/utils/wallet_utils.py,sha256=YVScMZ2_h7YpN5rG7lHkvIXoZlIVlYap5YV1am2CAnw,1533
77
- tonutils-1.0.0a2.dist-info/licenses/LICENSE,sha256=fG-yM-8DSkOTaJ558P7uF5PNXBmineVO9-HC12YbIxs,1060
78
- tonutils-1.0.0a2.dist-info/METADATA,sha256=gl2hBEl_GonMsot8s-xhQiZaboob76-uqfWrYNshHA0,4578
79
- tonutils-1.0.0a2.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
80
- tonutils-1.0.0a2.dist-info/top_level.txt,sha256=-7H_mGl8S9HKQrkUiTLmEbtMM-knzRzd_a0cZZnuZIU,9
81
- tonutils-1.0.0a2.dist-info/RECORD,,
77
+ tonutils-1.0.0a4.dist-info/licenses/LICENSE,sha256=fG-yM-8DSkOTaJ558P7uF5PNXBmineVO9-HC12YbIxs,1060
78
+ tonutils-1.0.0a4.dist-info/METADATA,sha256=lvUP76C5qnBab_4mqctrBjJYu_DOjKY_3ADoIPa3cdg,4578
79
+ tonutils-1.0.0a4.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
80
+ tonutils-1.0.0a4.dist-info/top_level.txt,sha256=-7H_mGl8S9HKQrkUiTLmEbtMM-knzRzd_a0cZZnuZIU,9
81
+ tonutils-1.0.0a4.dist-info/RECORD,,