@dynamic-labs-sdk/ton 0.0.0 → 0.23.0

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 (209) hide show
  1. package/README.md +16 -0
  2. package/dist/TonNetworkProvider.types.d.ts +8 -0
  3. package/dist/TonNetworkProvider.types.d.ts.map +1 -0
  4. package/dist/TonWalletAccount.types.d.ts +8 -0
  5. package/dist/TonWalletAccount.types.d.ts.map +1 -0
  6. package/dist/TonWalletProvider.types.d.ts +23 -0
  7. package/dist/TonWalletProvider.types.d.ts.map +1 -0
  8. package/dist/addTonConnectExtension-BeGiqIBX.cjs.js +497 -0
  9. package/dist/addTonConnectExtension-BeGiqIBX.cjs.js.map +1 -0
  10. package/dist/addTonConnectExtension-uZJgB9RA.esm.js +492 -0
  11. package/dist/addTonConnectExtension-uZJgB9RA.esm.js.map +1 -0
  12. package/dist/addTonExtension/addTonExtension.d.ts +13 -0
  13. package/dist/addTonExtension/addTonExtension.d.ts.map +1 -0
  14. package/dist/addTonExtension/index.d.ts +2 -0
  15. package/dist/addTonExtension/index.d.ts.map +1 -0
  16. package/dist/addWaasTonExtension-BE89SiWy.cjs.js +481 -0
  17. package/dist/addWaasTonExtension-BE89SiWy.cjs.js.map +1 -0
  18. package/dist/addWaasTonExtension-BTZ2uDgB.esm.js +470 -0
  19. package/dist/addWaasTonExtension-BTZ2uDgB.esm.js.map +1 -0
  20. package/dist/errors/InvalidBocError.d.ts +10 -0
  21. package/dist/errors/InvalidBocError.d.ts.map +1 -0
  22. package/dist/errors/InvalidSignatureLengthError.d.ts +10 -0
  23. package/dist/errors/InvalidSignatureLengthError.d.ts.map +1 -0
  24. package/dist/errors/NotTonProviderError.d.ts +8 -0
  25. package/dist/errors/NotTonProviderError.d.ts.map +1 -0
  26. package/dist/errors/PublicKeyNotFoundError.d.ts +5 -0
  27. package/dist/errors/PublicKeyNotFoundError.d.ts.map +1 -0
  28. package/dist/errors/StateInitMissingError.d.ts +5 -0
  29. package/dist/errors/StateInitMissingError.d.ts.map +1 -0
  30. package/dist/errors/TonConnectProofNotAvailableError.d.ts +5 -0
  31. package/dist/errors/TonConnectProofNotAvailableError.d.ts.map +1 -0
  32. package/dist/errors/TonConnectReconnectedError.d.ts +7 -0
  33. package/dist/errors/TonConnectReconnectedError.d.ts.map +1 -0
  34. package/dist/errors/TonConnectRejectedError.d.ts +5 -0
  35. package/dist/errors/TonConnectRejectedError.d.ts.map +1 -0
  36. package/dist/errors/TonConnectTimeoutError.d.ts +5 -0
  37. package/dist/errors/TonConnectTimeoutError.d.ts.map +1 -0
  38. package/dist/errors/TransactionExecutionFailedError.d.ts +5 -0
  39. package/dist/errors/TransactionExecutionFailedError.d.ts.map +1 -0
  40. package/dist/exports/index.d.ts +16 -0
  41. package/dist/exports/index.d.ts.map +1 -0
  42. package/dist/exports/tonConnect.d.ts +2 -0
  43. package/dist/exports/tonConnect.d.ts.map +1 -0
  44. package/dist/exports/waas.d.ts +5 -0
  45. package/dist/exports/waas.d.ts.map +1 -0
  46. package/dist/generateTonConnectProof/generateTonConnectProof.d.ts +20 -0
  47. package/dist/generateTonConnectProof/generateTonConnectProof.d.ts.map +1 -0
  48. package/dist/generateTonConnectProof/index.d.ts +2 -0
  49. package/dist/generateTonConnectProof/index.d.ts.map +1 -0
  50. package/dist/index.cjs.js +149 -0
  51. package/dist/index.cjs.js.map +1 -0
  52. package/dist/index.esm.js +139 -0
  53. package/dist/index.esm.js.map +1 -0
  54. package/dist/isTonNetworkProvider/index.d.ts +2 -0
  55. package/dist/isTonNetworkProvider/index.d.ts.map +1 -0
  56. package/dist/isTonNetworkProvider/isTonNetworkProvider.d.ts +11 -0
  57. package/dist/isTonNetworkProvider/isTonNetworkProvider.d.ts.map +1 -0
  58. package/dist/isTonWalletAccount/index.d.ts +2 -0
  59. package/dist/isTonWalletAccount/index.d.ts.map +1 -0
  60. package/dist/isTonWalletAccount/isTonWalletAccount.d.ts +11 -0
  61. package/dist/isTonWalletAccount/isTonWalletAccount.d.ts.map +1 -0
  62. package/dist/isTonWalletProvider/index.d.ts +2 -0
  63. package/dist/isTonWalletProvider/index.d.ts.map +1 -0
  64. package/dist/isTonWalletProvider/isTonWalletProvider.d.ts +11 -0
  65. package/dist/isTonWalletProvider/isTonWalletProvider.d.ts.map +1 -0
  66. package/dist/registerTonNetworkProviderBuilder/index.d.ts +2 -0
  67. package/dist/registerTonNetworkProviderBuilder/index.d.ts.map +1 -0
  68. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts +4 -0
  69. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts.map +1 -0
  70. package/dist/sendJetton/index.d.ts +2 -0
  71. package/dist/sendJetton/index.d.ts.map +1 -0
  72. package/dist/sendJetton/sendJetton.d.ts +19 -0
  73. package/dist/sendJetton/sendJetton.d.ts.map +1 -0
  74. package/dist/sendTon/index.d.ts +2 -0
  75. package/dist/sendTon/index.d.ts.map +1 -0
  76. package/dist/sendTon/sendTon.d.ts +19 -0
  77. package/dist/sendTon/sendTon.d.ts.map +1 -0
  78. package/dist/sendTransaction/index.d.ts +2 -0
  79. package/dist/sendTransaction/index.d.ts.map +1 -0
  80. package/dist/sendTransaction/sendTransaction.d.ts +19 -0
  81. package/dist/sendTransaction/sendTransaction.d.ts.map +1 -0
  82. package/dist/ton.types.d.ts +48 -0
  83. package/dist/ton.types.d.ts.map +1 -0
  84. package/dist/tonConnect/addTonConnectExtension/addTonConnectExtension.d.ts +13 -0
  85. package/dist/tonConnect/addTonConnectExtension/addTonConnectExtension.d.ts.map +1 -0
  86. package/dist/tonConnect/addTonConnectExtension/index.d.ts +2 -0
  87. package/dist/tonConnect/addTonConnectExtension/index.d.ts.map +1 -0
  88. package/dist/tonConnect/supportedTonConnectWallets.d.ts +14 -0
  89. package/dist/tonConnect/supportedTonConnectWallets.d.ts.map +1 -0
  90. package/dist/tonConnect/utils/createWalletProviderFromTonConnect/createWalletProviderFromTonConnect.d.ts +24 -0
  91. package/dist/tonConnect/utils/createWalletProviderFromTonConnect/createWalletProviderFromTonConnect.d.ts.map +1 -0
  92. package/dist/tonConnect/utils/createWalletProviderFromTonConnect/index.d.ts +2 -0
  93. package/dist/tonConnect/utils/createWalletProviderFromTonConnect/index.d.ts.map +1 -0
  94. package/dist/tonConnect/utils/discoverAndRegisterWallets/discoverAndRegisterWallets.d.ts +17 -0
  95. package/dist/tonConnect/utils/discoverAndRegisterWallets/discoverAndRegisterWallets.d.ts.map +1 -0
  96. package/dist/tonConnect/utils/discoverAndRegisterWallets/index.d.ts +2 -0
  97. package/dist/tonConnect/utils/discoverAndRegisterWallets/index.d.ts.map +1 -0
  98. package/dist/tonConnect/utils/extractPublicKeyFromStateInit/extractPublicKeyFromStateInit.d.ts +14 -0
  99. package/dist/tonConnect/utils/extractPublicKeyFromStateInit/extractPublicKeyFromStateInit.d.ts.map +1 -0
  100. package/dist/tonConnect/utils/extractPublicKeyFromStateInit/index.d.ts +2 -0
  101. package/dist/tonConnect/utils/extractPublicKeyFromStateInit/index.d.ts.map +1 -0
  102. package/dist/tonConnect.cjs.js +10 -0
  103. package/dist/tonConnect.cjs.js.map +1 -0
  104. package/dist/tonConnect.esm.js +10 -0
  105. package/dist/tonConnect.esm.js.map +1 -0
  106. package/dist/tonTransferAmount-DJKzyOt4.esm.js +202 -0
  107. package/dist/tonTransferAmount-DJKzyOt4.esm.js.map +1 -0
  108. package/dist/tonTransferAmount-OsgouTJK.cjs.js +285 -0
  109. package/dist/tonTransferAmount-OsgouTJK.cjs.js.map +1 -0
  110. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  111. package/dist/utils/constants.d.ts +6 -0
  112. package/dist/utils/constants.d.ts.map +1 -0
  113. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts +5 -0
  114. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts.map +1 -0
  115. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts +28 -0
  116. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts.map +1 -0
  117. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/index.d.ts +2 -0
  118. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/index.d.ts.map +1 -0
  119. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts +5 -0
  120. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts.map +1 -0
  121. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/index.d.ts +2 -0
  122. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/index.d.ts.map +1 -0
  123. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts +3 -0
  124. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts.map +1 -0
  125. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/index.d.ts +2 -0
  126. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/index.d.ts.map +1 -0
  127. package/dist/utils/convertTonSendTransactionRequest/index.d.ts +2 -0
  128. package/dist/utils/convertTonSendTransactionRequest/index.d.ts.map +1 -0
  129. package/dist/utils/convertTonSendTransactionRequest/parsePayload/index.d.ts +2 -0
  130. package/dist/utils/convertTonSendTransactionRequest/parsePayload/index.d.ts.map +1 -0
  131. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts +4 -0
  132. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts.map +1 -0
  133. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/index.d.ts +2 -0
  134. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/index.d.ts.map +1 -0
  135. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts +7 -0
  136. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts.map +1 -0
  137. package/dist/utils/createTonClient/createTonClient.d.ts +8 -0
  138. package/dist/utils/createTonClient/createTonClient.d.ts.map +1 -0
  139. package/dist/utils/createTonClient/index.d.ts +2 -0
  140. package/dist/utils/createTonClient/index.d.ts.map +1 -0
  141. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts +5 -0
  142. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts.map +1 -0
  143. package/dist/utils/createTonNetworkProvider/index.d.ts +2 -0
  144. package/dist/utils/createTonNetworkProvider/index.d.ts.map +1 -0
  145. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts +9 -0
  146. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts.map +1 -0
  147. package/dist/utils/createTonWalletStateInit/index.d.ts +2 -0
  148. package/dist/utils/createTonWalletStateInit/index.d.ts.map +1 -0
  149. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts +15 -0
  150. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts.map +1 -0
  151. package/dist/utils/executeTonTransaction/index.d.ts +2 -0
  152. package/dist/utils/executeTonTransaction/index.d.ts.map +1 -0
  153. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts +9 -0
  154. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts.map +1 -0
  155. package/dist/utils/fetchTonBalance/index.d.ts +2 -0
  156. package/dist/utils/fetchTonBalance/index.d.ts.map +1 -0
  157. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts +11 -0
  158. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts.map +1 -0
  159. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts +11 -0
  160. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts.map +1 -0
  161. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/index.d.ts +2 -0
  162. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/index.d.ts.map +1 -0
  163. package/dist/utils/generateTonConnectProofHash/index.d.ts +2 -0
  164. package/dist/utils/generateTonConnectProofHash/index.d.ts.map +1 -0
  165. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts +10 -0
  166. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts.map +1 -0
  167. package/dist/utils/getJettonWalletAddress/index.d.ts +2 -0
  168. package/dist/utils/getJettonWalletAddress/index.d.ts.map +1 -0
  169. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts +9 -0
  170. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts.map +1 -0
  171. package/dist/utils/getTonWalletSeqno/index.d.ts +2 -0
  172. package/dist/utils/getTonWalletSeqno/index.d.ts.map +1 -0
  173. package/dist/utils/isTonWalletDeployed/index.d.ts +2 -0
  174. package/dist/utils/isTonWalletDeployed/index.d.ts.map +1 -0
  175. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts +9 -0
  176. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts.map +1 -0
  177. package/dist/utils/prepareJettonTransfer/index.d.ts +2 -0
  178. package/dist/utils/prepareJettonTransfer/index.d.ts.map +1 -0
  179. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts +19 -0
  180. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts.map +1 -0
  181. package/dist/utils/prepareTonNativeTransfer/index.d.ts +2 -0
  182. package/dist/utils/prepareTonNativeTransfer/index.d.ts.map +1 -0
  183. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts +13 -0
  184. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts.map +1 -0
  185. package/dist/utils/prepareTonTransaction/index.d.ts +2 -0
  186. package/dist/utils/prepareTonTransaction/index.d.ts.map +1 -0
  187. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts +20 -0
  188. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts.map +1 -0
  189. package/dist/utils/tonTransferAmount/index.d.ts +2 -0
  190. package/dist/utils/tonTransferAmount/index.d.ts.map +1 -0
  191. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts +7 -0
  192. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts.map +1 -0
  193. package/dist/waas/WaasTonWalletProvider.types.d.ts +4 -0
  194. package/dist/waas/WaasTonWalletProvider.types.d.ts.map +1 -0
  195. package/dist/waas/addWaasTonExtension/addWaasTonExtension.d.ts +12 -0
  196. package/dist/waas/addWaasTonExtension/addWaasTonExtension.d.ts.map +1 -0
  197. package/dist/waas/addWaasTonExtension/index.d.ts +2 -0
  198. package/dist/waas/addWaasTonExtension/index.d.ts.map +1 -0
  199. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts +5 -0
  200. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts.map +1 -0
  201. package/dist/waas/utils/createWalletProviderForWaasTon/index.d.ts +2 -0
  202. package/dist/waas/utils/createWalletProviderForWaasTon/index.d.ts.map +1 -0
  203. package/dist/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.d.ts +7 -0
  204. package/dist/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.d.ts.map +1 -0
  205. package/dist/waas.cjs.js +12 -0
  206. package/dist/waas.cjs.js.map +1 -0
  207. package/dist/waas.esm.js +10 -0
  208. package/dist/waas.esm.js.map +1 -0
  209. package/package.json +51 -1
@@ -0,0 +1,48 @@
1
+ import type { CHAIN } from '@tonconnect/sdk';
2
+ export type TonConnectDomain = {
3
+ lengthBytes: number;
4
+ value: string;
5
+ };
6
+ export type TonConnectProof = {
7
+ address: string;
8
+ domain: TonConnectDomain;
9
+ payload: string;
10
+ signature: string;
11
+ timestamp: number;
12
+ };
13
+ export type TonSendTransactionRequest = {
14
+ from?: string;
15
+ messages: {
16
+ address: string;
17
+ amount: string;
18
+ extraCurrency?: {
19
+ [k: number]: string;
20
+ };
21
+ payload?: string;
22
+ stateInit?: string;
23
+ }[];
24
+ network?: CHAIN;
25
+ validUntil: number;
26
+ };
27
+ export type TonTransactionData = {
28
+ address: string;
29
+ messageBody: string;
30
+ seqno: number;
31
+ timeout: number;
32
+ };
33
+ export type TonSendTransactionResponse = {
34
+ transactionHash: string;
35
+ };
36
+ export type TonNativeTransfer = {
37
+ amount: bigint;
38
+ recipientAddress: string;
39
+ };
40
+ export type TonJettonTransfer = {
41
+ amount: bigint;
42
+ forwardPayload?: string;
43
+ forwardTonAmount?: bigint;
44
+ gasAmount?: bigint;
45
+ jettonMasterAddress: string;
46
+ recipientAddress: string;
47
+ };
48
+ //# sourceMappingURL=ton.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton.types.d.ts","sourceRoot":"","sources":["../src/ton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;IACJ,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const TON_CONNECT_EXTENSION_KEY = "tonConnect";
2
+ /**
3
+ * Adds the TonConnect extension to the Dynamic client.
4
+ *
5
+ * This extension enables external TON wallet support via the TonConnect protocol,
6
+ * discovering and registering supported wallets (Tonkeeper, MyTonWallet, etc.)
7
+ * as wallet providers.
8
+ *
9
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
10
+ * @not-instrumented
11
+ */
12
+ export declare const addTonConnectExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
13
+ //# sourceMappingURL=addTonConnectExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addTonConnectExtension.d.ts","sourceRoot":"","sources":["../../../src/tonConnect/addTonConnectExtension/addTonConnectExtension.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,iEAAkC,IAWpE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { addTonConnectExtension } from './addTonConnectExtension';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tonConnect/addTonConnectExtension/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Curated list of TON wallets supported by the SDK.
3
+ *
4
+ * TonConnect's getWallets() returns every wallet in its ecosystem registry,
5
+ * not just installed ones. Unlike EVM (EIP-6963) or Solana (Wallet Standard)
6
+ * where wallets self-announce, TonConnect provides a catalog, so we maintain
7
+ * an allowlist to control which wallets appear in the UI.
8
+ *
9
+ * Keys are TonConnect appName identifiers. Values are display name overrides
10
+ * (when TonConnect's default name is too generic, e.g. "Wallet" for Telegram
11
+ * Wallet). When the value is undefined, TonConnect's name is used as is.
12
+ */
13
+ export declare const SUPPORTED_TON_CONNECT_WALLETS: Record<string, string | undefined>;
14
+ //# sourceMappingURL=supportedTonConnectWallets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supportedTonConnectWallets.d.ts","sourceRoot":"","sources":["../../src/tonConnect/supportedTonConnectWallets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAK1E,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ import type { TonConnectUI } from '@tonconnect/ui';
3
+ import type { TonWalletProvider } from '../../../TonWalletProvider.types';
4
+ type CreateWalletProviderFromTonConnectParams = {
5
+ dynamicClient: DynamicClient;
6
+ tonConnectUI: TonConnectUI;
7
+ walletInfo: {
8
+ appName: string;
9
+ icon: string;
10
+ jsBridgeKey?: string;
11
+ name: string;
12
+ };
13
+ };
14
+ /**
15
+ * Creates a TonWalletProvider from a TonConnect wallet.
16
+ *
17
+ * Wraps the TonConnect UI instance to provide connect, disconnect, sign, and
18
+ * send operations for an external TON wallet (Tonkeeper, MyTonWallet, etc.).
19
+ *
20
+ * @not-instrumented
21
+ */
22
+ export declare const createWalletProviderFromTonConnect: ({ dynamicClient, tonConnectUI, walletInfo, }: CreateWalletProviderFromTonConnectParams) => TonWalletProvider;
23
+ export {};
24
+ //# sourceMappingURL=createWalletProviderFromTonConnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWalletProviderFromTonConnect.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/createWalletProviderFromTonConnect/createWalletProviderFromTonConnect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAc9D,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAU1E,KAAK,wCAAwC,GAAG;IAC9C,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,iDAI5C,wCAAwC,KAAG,iBAmhB7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createWalletProviderFromTonConnect } from './createWalletProviderFromTonConnect';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/createWalletProviderFromTonConnect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ import type { TonConnectUI } from '@tonconnect/ui';
3
+ type DiscoverAndRegisterWalletsParams = {
4
+ client: DynamicClient;
5
+ tonConnectUI: TonConnectUI;
6
+ };
7
+ /**
8
+ * Discovers supported TonConnect wallets and registers them as wallet providers.
9
+ *
10
+ * Queries the TonConnect registry for available wallets, filters to the
11
+ * curated allowlist, and registers each as a wallet provider with the Dynamic client.
12
+ *
13
+ * @not-instrumented
14
+ */
15
+ export declare const discoverAndRegisterWallets: ({ client, tonConnectUI, }: DiscoverAndRegisterWalletsParams) => Promise<void>;
16
+ export {};
17
+ //# sourceMappingURL=discoverAndRegisterWallets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoverAndRegisterWallets.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/discoverAndRegisterWallets/discoverAndRegisterWallets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,8BAGpC,gCAAgC,KAAG,OAAO,CAAC,IAAI,CAiCjD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { discoverAndRegisterWallets } from './discoverAndRegisterWallets';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/discoverAndRegisterWallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,14 @@
1
+ type ExtractPublicKeyFromStateInitParams = {
2
+ stateInitBase64: string;
3
+ };
4
+ /**
5
+ * Extracts the public key from a TON wallet's StateInit.
6
+ *
7
+ * Parses the base64-encoded StateInit cell to retrieve the 32-byte public key
8
+ * from the data cell, handling both V5R1 and standard wallet contract layouts.
9
+ *
10
+ * @not-instrumented
11
+ */
12
+ export declare const extractPublicKeyFromStateInit: ({ stateInitBase64, }: ExtractPublicKeyFromStateInitParams) => string;
13
+ export {};
14
+ //# sourceMappingURL=extractPublicKeyFromStateInit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractPublicKeyFromStateInit.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/extractPublicKeyFromStateInit/extractPublicKeyFromStateInit.ts"],"names":[],"mappings":"AAcA,KAAK,mCAAmC,GAAG;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,yBAEvC,mCAAmC,KAAG,MAuBxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { extractPublicKeyFromStateInit } from './extractPublicKeyFromStateInit';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tonConnect/utils/extractPublicKeyFromStateInit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ const require_tonTransferAmount = require('./tonTransferAmount-OsgouTJK.cjs.js');
2
+ const require_addTonConnectExtension = require('./addTonConnectExtension-BeGiqIBX.cjs.js');
3
+ let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
4
+
5
+ //#region src/exports/tonConnect.ts
6
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_tonTransferAmount.name, require_tonTransferAmount.version);
7
+
8
+ //#endregion
9
+ exports.addTonConnectExtension = require_addTonConnectExtension.addTonConnectExtension;
10
+ //# sourceMappingURL=tonConnect.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tonConnect.cjs.js","names":["packageName","packageVersion"],"sources":["../src/exports/tonConnect.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\n\nassertPackageVersion(packageName, packageVersion);\n\nexport { addTonConnectExtension } from '../tonConnect/addTonConnectExtension';\n"],"mappings":";;;;;mEAOqBA,gCAAaC,kCAAe"}
@@ -0,0 +1,10 @@
1
+ import { m as version, p as name } from "./tonTransferAmount-DJKzyOt4.esm.js";
2
+ import { t as addTonConnectExtension } from "./addTonConnectExtension-uZJgB9RA.esm.js";
3
+ import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
4
+
5
+ //#region src/exports/tonConnect.ts
6
+ assertPackageVersion(name, version);
7
+
8
+ //#endregion
9
+ export { addTonConnectExtension };
10
+ //# sourceMappingURL=tonConnect.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tonConnect.esm.js","names":["packageName","packageVersion"],"sources":["../src/exports/tonConnect.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\n\nassertPackageVersion(packageName, packageVersion);\n\nexport { addTonConnectExtension } from '../tonConnect/addTonConnectExtension';\n"],"mappings":";;;;;AAOA,qBAAqBA,MAAaC,QAAe"}
@@ -0,0 +1,202 @@
1
+ import { createBaseNetworkProvider, getNetworkProviderBuilderRegistry, getWalletProviderFromWalletAccount, parseAmountToSmallestUnit } from "@dynamic-labs-sdk/client/core";
2
+ import { Address, TonClient, beginCell, fromNano } from "@ton/ton";
3
+ import { BaseError } from "@dynamic-labs-sdk/client";
4
+ import { CHAIN } from "@tonconnect/sdk";
5
+
6
+ //#region package.json
7
+ var name = "@dynamic-labs-sdk/ton";
8
+ var version = "0.23.0";
9
+
10
+ //#endregion
11
+ //#region src/utils/createTonClient/createTonClient.ts
12
+ /** @not-instrumented */
13
+ const createTonClient = ({ rpcUrl }) => new TonClient({ endpoint: rpcUrl });
14
+
15
+ //#endregion
16
+ //#region src/utils/fetchTonBalance/fetchTonBalance.ts
17
+ /** @not-instrumented */
18
+ const fetchTonBalance = async ({ address, client }) => {
19
+ try {
20
+ return fromNano(await client.getBalance(Address.parse(address)));
21
+ } catch {
22
+ return null;
23
+ }
24
+ };
25
+
26
+ //#endregion
27
+ //#region src/utils/createTonNetworkProvider/createTonNetworkProvider.ts
28
+ /** @not-instrumented */
29
+ const createTonNetworkProvider = (networkData) => ({
30
+ ...createBaseNetworkProvider("TON", networkData),
31
+ getBalance: async ({ address }) => ({ balance: await fetchTonBalance({
32
+ address,
33
+ client: createTonClient({ rpcUrl: networkData.rpcUrls.http[0] })
34
+ }) })
35
+ });
36
+
37
+ //#endregion
38
+ //#region src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts
39
+ /** @not-instrumented */
40
+ const registerTonNetworkProviderBuilder = (client) => {
41
+ const networkProviderBuilderRegistry = getNetworkProviderBuilderRegistry(client);
42
+ if (networkProviderBuilderRegistry.get().get("TON")) return;
43
+ networkProviderBuilderRegistry.register({
44
+ builder: createTonNetworkProvider,
45
+ chain: "TON"
46
+ });
47
+ };
48
+
49
+ //#endregion
50
+ //#region src/utils/constants.ts
51
+ const DEFAULT_TIMEOUT = 60;
52
+ const DEFAULT_JETTON_GAS = BigInt(5e7);
53
+ const NANOTON_PER_TON = BigInt(1e9);
54
+ const TON_PROOF_PREFIX = "ton-proof-item-v2/";
55
+ const TON_CONNECT_PREFIX = "ton-connect";
56
+
57
+ //#endregion
58
+ //#region src/utils/getJettonWalletAddress/getJettonWalletAddress.ts
59
+ /** @not-instrumented */
60
+ const getJettonWalletAddress = async ({ jettonMasterAddress, ownerAddress, client }) => {
61
+ const masterAddress = Address.parse(jettonMasterAddress);
62
+ const owner = Address.parse(ownerAddress);
63
+ const ownerCell = beginCell().storeAddress(owner).endCell();
64
+ return (await client.runMethod(masterAddress, "get_wallet_address", [{
65
+ cell: ownerCell,
66
+ type: "slice"
67
+ }])).stack.readAddress().toString({
68
+ bounceable: true,
69
+ testOnly: false,
70
+ urlSafe: true
71
+ });
72
+ };
73
+
74
+ //#endregion
75
+ //#region src/utils/prepareJettonTransfer/prepareJettonTransfer.ts
76
+ /** @not-instrumented */
77
+ const prepareJettonTransfer = async ({ walletAddress, jettonMasterAddress, recipientAddress, jettonAmount, forwardTonAmount, client, forwardPayload = "", timeout = DEFAULT_TIMEOUT, gasAmount = DEFAULT_JETTON_GAS, network = CHAIN.MAINNET }) => {
78
+ const validUntil = Math.floor(Date.now() / 1e3) + timeout;
79
+ const jettonWalletAddr = Address.parse(await getJettonWalletAddress({
80
+ client,
81
+ jettonMasterAddress,
82
+ ownerAddress: walletAddress
83
+ }));
84
+ const recipientAddr = Address.parse(recipientAddress);
85
+ const walletAddr = Address.parse(walletAddress);
86
+ const isTestnet = network === CHAIN.TESTNET;
87
+ const forwardPayloadCell = forwardPayload ? beginCell().storeUint(0, 32).storeStringTail(forwardPayload).endCell() : beginCell().endCell();
88
+ const jettonTransferBody = beginCell().storeUint(260734629, 32).storeUint(0, 64).storeCoins(jettonAmount).storeAddress(recipientAddr).storeAddress(walletAddr).storeBit(0).storeCoins(forwardTonAmount).storeBit(0).storeSlice(forwardPayloadCell.beginParse()).endCell();
89
+ const totalAmount = forwardTonAmount + gasAmount;
90
+ const message = {
91
+ address: jettonWalletAddr.toString({
92
+ bounceable: true,
93
+ testOnly: isTestnet,
94
+ urlSafe: true
95
+ }),
96
+ amount: totalAmount.toString(),
97
+ payload: jettonTransferBody.toBoc().toString("base64")
98
+ };
99
+ return {
100
+ from: walletAddr.toString({
101
+ bounceable: false,
102
+ testOnly: isTestnet,
103
+ urlSafe: true
104
+ }),
105
+ messages: [message],
106
+ network,
107
+ validUntil
108
+ };
109
+ };
110
+
111
+ //#endregion
112
+ //#region src/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.ts
113
+ /** @not-instrumented */
114
+ const prepareTonNativeTransfer = ({ walletAddress, recipient, amountInNanoton, timeout = DEFAULT_TIMEOUT, network = CHAIN.MAINNET }) => {
115
+ const validUntil = Math.floor(Date.now() / 1e3) + timeout;
116
+ const recipientAddress = Address.parse(recipient);
117
+ const walletAddr = Address.parse(walletAddress);
118
+ const isTestnet = network === CHAIN.TESTNET;
119
+ const message = {
120
+ address: recipientAddress.toString({
121
+ bounceable: false,
122
+ testOnly: isTestnet,
123
+ urlSafe: true
124
+ }),
125
+ amount: amountInNanoton
126
+ };
127
+ return {
128
+ from: walletAddr.toString({
129
+ bounceable: false,
130
+ testOnly: isTestnet,
131
+ urlSafe: true
132
+ }),
133
+ messages: [message],
134
+ network,
135
+ validUntil
136
+ };
137
+ };
138
+
139
+ //#endregion
140
+ //#region src/errors/NotTonProviderError.ts
141
+ var NotTonProviderError = class extends BaseError {
142
+ providerKey;
143
+ constructor(params) {
144
+ super({
145
+ cause: null,
146
+ code: "not_ton_provider_error",
147
+ docsUrl: null,
148
+ name: "NotTonProviderError",
149
+ shortMessage: "Provider is not a TON wallet provider"
150
+ });
151
+ this.providerKey = params.providerKey;
152
+ }
153
+ };
154
+
155
+ //#endregion
156
+ //#region src/isTonWalletProvider/isTonWalletProvider.ts
157
+ /**
158
+ * Type guard function to check if a wallet provider is a TON wallet provider.
159
+ *
160
+ * @param provider - The wallet provider to check.
161
+ * @returns True if the wallet provider is a TON wallet provider, false otherwise.
162
+ * @not-instrumented
163
+ */
164
+ const isTonWalletProvider = (provider) => provider.chain === "TON";
165
+
166
+ //#endregion
167
+ //#region src/utils/tonTransferAmount/tonTransferAmount.ts
168
+ const DEFAULT_DECIMALS = 9;
169
+ /** @not-instrumented */
170
+ const tonTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
171
+ const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
172
+ if (!isTonWalletProvider(provider)) throw new NotTonProviderError({ providerKey: provider.key });
173
+ if (token) {
174
+ const rawAmount$1 = parseAmountToSmallestUnit({
175
+ amount,
176
+ decimals: token.decimals ?? DEFAULT_DECIMALS
177
+ });
178
+ return provider.sendJetton({
179
+ transaction: {
180
+ amount: rawAmount$1,
181
+ jettonMasterAddress: token.address,
182
+ recipientAddress: recipient
183
+ },
184
+ walletAccount
185
+ });
186
+ }
187
+ const rawAmount = parseAmountToSmallestUnit({
188
+ amount,
189
+ decimals: DEFAULT_DECIMALS
190
+ });
191
+ return provider.sendTon({
192
+ transaction: {
193
+ amount: rawAmount,
194
+ recipientAddress: recipient
195
+ },
196
+ walletAccount
197
+ });
198
+ };
199
+
200
+ //#endregion
201
+ export { prepareJettonTransfer as a, NANOTON_PER_TON as c, registerTonNetworkProviderBuilder as d, createTonClient as f, prepareTonNativeTransfer as i, TON_CONNECT_PREFIX as l, version as m, isTonWalletProvider as n, DEFAULT_JETTON_GAS as o, name as p, NotTonProviderError as r, DEFAULT_TIMEOUT as s, tonTransferAmount as t, TON_PROOF_PREFIX as u };
202
+ //# sourceMappingURL=tonTransferAmount-DJKzyOt4.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tonTransferAmount-DJKzyOt4.esm.js","names":["rawAmount"],"sources":["../package.json","../src/utils/createTonClient/createTonClient.ts","../src/utils/fetchTonBalance/fetchTonBalance.ts","../src/utils/createTonNetworkProvider/createTonNetworkProvider.ts","../src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts","../src/utils/constants.ts","../src/utils/getJettonWalletAddress/getJettonWalletAddress.ts","../src/utils/prepareJettonTransfer/prepareJettonTransfer.ts","../src/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.ts","../src/errors/NotTonProviderError.ts","../src/isTonWalletProvider/isTonWalletProvider.ts","../src/utils/tonTransferAmount/tonTransferAmount.ts"],"sourcesContent":["","import { TonClient } from '@ton/ton';\n\ntype CreateTonClientParams = {\n rpcUrl: string;\n};\n\n/** @not-instrumented */\nexport const createTonClient = ({\n rpcUrl,\n}: CreateTonClientParams): TonClient => new TonClient({ endpoint: rpcUrl });\n","import { Address, type TonClient, fromNano } from '@ton/ton';\n\ntype FetchTonBalanceParams = {\n address: string;\n client: TonClient;\n};\n\n/** @not-instrumented */\nexport const fetchTonBalance = async ({\n address,\n client,\n}: FetchTonBalanceParams): Promise<string | null> => {\n try {\n const balanceNano = await client.getBalance(Address.parse(address));\n\n return fromNano(balanceNano);\n } catch {\n return null;\n }\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonNetworkProvider } from '../../TonNetworkProvider.types';\nimport { createTonClient } from '../createTonClient';\nimport { fetchTonBalance } from '../fetchTonBalance';\n\n/** @not-instrumented */\nexport const createTonNetworkProvider = (\n networkData: NetworkData\n): TonNetworkProvider => ({\n ...createBaseNetworkProvider('TON', networkData),\n getBalance: async ({ address }: { address: string }) => ({\n balance: await fetchTonBalance({\n address,\n client: createTonClient({ rpcUrl: networkData.rpcUrls.http[0] }),\n }),\n }),\n});\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getNetworkProviderBuilderRegistry } from '@dynamic-labs-sdk/client/core';\n\nimport { createTonNetworkProvider } from '../utils/createTonNetworkProvider';\n\n/** @not-instrumented */\nexport const registerTonNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n if (networkProviderBuilderRegistry.get().get('TON')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createTonNetworkProvider,\n chain: 'TON',\n });\n};\n","export const DEFAULT_TIMEOUT = 60;\nexport const DEFAULT_JETTON_GAS = BigInt(50_000_000);\nexport const NANOTON_PER_TON = BigInt(1_000_000_000);\nexport const TON_PROOF_PREFIX = 'ton-proof-item-v2/';\nexport const TON_CONNECT_PREFIX = 'ton-connect';\n","import { Address, type TonClient, beginCell } from '@ton/ton';\n\ntype GetJettonWalletAddressParams = {\n client: TonClient;\n jettonMasterAddress: string;\n ownerAddress: string;\n};\n\n/** @not-instrumented */\nexport const getJettonWalletAddress = async ({\n jettonMasterAddress,\n ownerAddress,\n client,\n}: GetJettonWalletAddressParams): Promise<string> => {\n const masterAddress = Address.parse(jettonMasterAddress);\n const owner = Address.parse(ownerAddress);\n\n const ownerCell = beginCell().storeAddress(owner).endCell();\n\n const result = await client.runMethod(masterAddress, 'get_wallet_address', [\n { cell: ownerCell, type: 'slice' },\n ]);\n\n const jettonWalletAddress = result.stack.readAddress();\n\n return jettonWalletAddress.toString({\n bounceable: true,\n testOnly: false,\n urlSafe: true,\n });\n};\n","import { Address, type TonClient, beginCell } from '@ton/ton';\nimport { CHAIN } from '@tonconnect/sdk';\n\nimport type { TonSendTransactionRequest } from '../../ton.types';\nimport { DEFAULT_JETTON_GAS, DEFAULT_TIMEOUT } from '../constants';\nimport { getJettonWalletAddress } from '../getJettonWalletAddress';\n\ntype PrepareJettonTransferParams = {\n client: TonClient;\n forwardPayload?: string;\n forwardTonAmount: bigint;\n gasAmount?: bigint;\n jettonAmount: bigint;\n jettonMasterAddress: string;\n network?: CHAIN;\n recipientAddress: string;\n timeout?: number;\n walletAddress: string;\n};\n\n/** @not-instrumented */\nexport const prepareJettonTransfer = async ({\n walletAddress,\n jettonMasterAddress,\n recipientAddress,\n jettonAmount,\n forwardTonAmount,\n client,\n forwardPayload = '',\n timeout = DEFAULT_TIMEOUT,\n gasAmount = DEFAULT_JETTON_GAS,\n network = CHAIN.MAINNET,\n}: PrepareJettonTransferParams): Promise<TonSendTransactionRequest> => {\n const validUntil = Math.floor(Date.now() / 1000) + timeout;\n\n const jettonWalletAddr = Address.parse(\n await getJettonWalletAddress({\n client,\n jettonMasterAddress,\n ownerAddress: walletAddress,\n })\n );\n\n const recipientAddr = Address.parse(recipientAddress);\n const walletAddr = Address.parse(walletAddress);\n const isTestnet = network === CHAIN.TESTNET;\n\n const forwardPayloadCell = forwardPayload\n ? beginCell().storeUint(0, 32).storeStringTail(forwardPayload).endCell()\n : beginCell().endCell();\n\n const jettonTransferBody = beginCell()\n .storeUint(0xf8a7ea5, 32)\n .storeUint(0, 64)\n .storeCoins(jettonAmount)\n .storeAddress(recipientAddr)\n .storeAddress(walletAddr)\n .storeBit(0)\n .storeCoins(forwardTonAmount)\n .storeBit(0)\n .storeSlice(forwardPayloadCell.beginParse())\n .endCell();\n\n const totalAmount = forwardTonAmount + gasAmount;\n\n const message = {\n address: jettonWalletAddr.toString({\n bounceable: true,\n testOnly: isTestnet,\n urlSafe: true,\n }),\n amount: totalAmount.toString(),\n payload: jettonTransferBody.toBoc().toString('base64'),\n };\n\n return {\n from: walletAddr.toString({\n bounceable: false,\n testOnly: isTestnet,\n urlSafe: true,\n }),\n messages: [message],\n network,\n validUntil,\n };\n};\n","import { Address } from '@ton/ton';\nimport { CHAIN } from '@tonconnect/sdk';\n\nimport type { TonSendTransactionRequest } from '../../ton.types';\nimport { DEFAULT_TIMEOUT } from '../constants';\n\ntype PrepareTonNativeTransferParams = {\n amountInNanoton: string;\n network?: CHAIN;\n recipient: string;\n timeout?: number;\n walletAddress: string;\n};\n\n/** @not-instrumented */\nexport const prepareTonNativeTransfer = ({\n walletAddress,\n recipient,\n amountInNanoton,\n timeout = DEFAULT_TIMEOUT,\n network = CHAIN.MAINNET,\n}: PrepareTonNativeTransferParams): TonSendTransactionRequest => {\n const validUntil = Math.floor(Date.now() / 1000) + timeout;\n\n const recipientAddress = Address.parse(recipient);\n\n const walletAddr = Address.parse(walletAddress);\n const isTestnet = network === CHAIN.TESTNET;\n\n const message = {\n address: recipientAddress.toString({\n bounceable: false,\n testOnly: isTestnet,\n urlSafe: true,\n }),\n amount: amountInNanoton,\n };\n\n return {\n from: walletAddr.toString({\n bounceable: false,\n testOnly: isTestnet,\n urlSafe: true,\n }),\n messages: [message],\n network,\n validUntil,\n };\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotTonProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_ton_provider_error',\n docsUrl: null,\n name: 'NotTonProviderError',\n shortMessage: 'Provider is not a TON wallet provider',\n });\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonWalletProvider } from '../TonWalletProvider.types';\n\n/**\n * Type guard function to check if a wallet provider is a TON wallet provider.\n *\n * @param provider - The wallet provider to check.\n * @returns True if the wallet provider is a TON wallet provider, false otherwise.\n * @not-instrumented\n */\nexport const isTonWalletProvider = (\n provider: WalletProvider\n): provider is TonWalletProvider => provider.chain === 'TON';\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport type { TransferAmountParams } from '@dynamic-labs-sdk/client/core';\nimport {\n getWalletProviderFromWalletAccount,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { NotTonProviderError } from '../../errors/NotTonProviderError';\nimport { isTonWalletProvider } from '../../isTonWalletProvider';\n\nconst DEFAULT_DECIMALS = 9;\n\n/** @not-instrumented */\nexport const tonTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isTonWalletProvider(provider)) {\n throw new NotTonProviderError({ providerKey: provider.key });\n }\n\n if (token) {\n const rawAmount = parseAmountToSmallestUnit({\n amount,\n decimals: token.decimals ?? DEFAULT_DECIMALS,\n });\n\n return provider.sendJetton({\n transaction: {\n amount: rawAmount,\n jettonMasterAddress: token.address,\n recipientAddress: recipient,\n },\n walletAccount,\n });\n }\n\n const rawAmount = parseAmountToSmallestUnit({\n amount,\n decimals: DEFAULT_DECIMALS,\n });\n\n return provider.sendTon({\n transaction: {\n amount: rawAmount,\n recipientAddress: recipient,\n },\n walletAccount,\n });\n};\n"],"mappings":"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"}