@dynamic-labs-sdk/ton 1.12.2 → 1.13.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 (87) hide show
  1. package/dist/{addTonConnectExtension-BvDBUqVK.cjs → addTonConnectExtension-9stqf7f0.cjs} +7 -7
  2. package/dist/addTonConnectExtension-9stqf7f0.cjs.map +1 -0
  3. package/dist/{addTonConnectExtension-Bl9l3Yx9.esm.js → addTonConnectExtension-PyzrvXe0.esm.js} +7 -7
  4. package/dist/addTonConnectExtension-PyzrvXe0.esm.js.map +1 -0
  5. package/dist/addTonExtension/addTonExtension.d.ts +1 -1
  6. package/dist/{addWaasTonExtension-Cab7lRyH.esm.js → addWaasTonExtension-BruzIjXc.esm.js} +18 -18
  7. package/dist/addWaasTonExtension-BruzIjXc.esm.js.map +1 -0
  8. package/dist/{addWaasTonExtension-BkAOUb4X.cjs → addWaasTonExtension-m1G_cibh.cjs} +18 -18
  9. package/dist/addWaasTonExtension-m1G_cibh.cjs.map +1 -0
  10. package/dist/generateTonConnectProof/generateTonConnectProof.d.ts +1 -1
  11. package/dist/index.cjs +10 -10
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.esm.js +10 -10
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/isTonNetworkProvider/isTonNetworkProvider.d.ts +1 -1
  16. package/dist/isTonWalletAccount/isTonWalletAccount.d.ts +1 -1
  17. package/dist/isTonWalletProvider/isTonWalletProvider.d.ts +1 -1
  18. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts +1 -1
  19. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts.map +1 -1
  20. package/dist/sendJetton/sendJetton.d.ts +1 -1
  21. package/dist/sendTon/sendTon.d.ts +1 -1
  22. package/dist/sendTransaction/sendTransaction.d.ts +1 -1
  23. package/dist/tonConnect/addTonConnectExtension/addTonConnectExtension.d.ts +1 -1
  24. package/dist/tonConnect/utils/createDefaultTonConnectUI/createDefaultTonConnectUI.d.ts +1 -1
  25. package/dist/tonConnect/utils/createWalletProviderFromTonConnect/createWalletProviderFromTonConnect.d.ts +1 -1
  26. package/dist/tonConnect/utils/discoverAndRegisterWallets/discoverAndRegisterWallets.d.ts +1 -1
  27. package/dist/tonConnect/utils/extractPublicKeyFromStateInit/extractPublicKeyFromStateInit.d.ts +1 -1
  28. package/dist/tonConnect.cjs +2 -2
  29. package/dist/tonConnect.esm.js +2 -2
  30. package/dist/{tonTransferAmount-M9yHPDUW.esm.js → tonTransferAmount-CNyAPQ_R.esm.js} +11 -11
  31. package/dist/tonTransferAmount-CNyAPQ_R.esm.js.map +1 -0
  32. package/dist/{tonTransferAmount-C0I7SiC0.cjs → tonTransferAmount-DIkfZWiJ.cjs} +11 -11
  33. package/dist/tonTransferAmount-DIkfZWiJ.cjs.map +1 -0
  34. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  35. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts +1 -1
  36. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts.map +1 -1
  37. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts +1 -1
  38. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts.map +1 -1
  39. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts +1 -1
  40. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts.map +1 -1
  41. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts +1 -1
  42. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts.map +1 -1
  43. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts +1 -1
  44. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts.map +1 -1
  45. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts +1 -1
  46. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts.map +1 -1
  47. package/dist/utils/createTonClient/createTonClient.d.ts +1 -1
  48. package/dist/utils/createTonClient/createTonClient.d.ts.map +1 -1
  49. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts +1 -1
  50. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts.map +1 -1
  51. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts +1 -1
  52. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts.map +1 -1
  53. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts +1 -1
  54. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts.map +1 -1
  55. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts +1 -1
  56. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts.map +1 -1
  57. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts +1 -1
  58. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts.map +1 -1
  59. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts +1 -1
  60. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts.map +1 -1
  61. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts +1 -1
  62. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts.map +1 -1
  63. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts +1 -1
  64. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts.map +1 -1
  65. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts +1 -1
  66. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts.map +1 -1
  67. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts +1 -1
  68. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts.map +1 -1
  69. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts +1 -1
  70. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts.map +1 -1
  71. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts +1 -1
  72. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts.map +1 -1
  73. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts +1 -1
  74. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts.map +1 -1
  75. package/dist/waas/addWaasTonExtension/addWaasTonExtension.d.ts +1 -1
  76. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts +1 -1
  77. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts.map +1 -1
  78. package/dist/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.d.ts +1 -1
  79. package/dist/waas.cjs +2 -2
  80. package/dist/waas.esm.js +2 -2
  81. package/package.json +3 -3
  82. package/dist/addTonConnectExtension-Bl9l3Yx9.esm.js.map +0 -1
  83. package/dist/addTonConnectExtension-BvDBUqVK.cjs.map +0 -1
  84. package/dist/addWaasTonExtension-BkAOUb4X.cjs.map +0 -1
  85. package/dist/addWaasTonExtension-Cab7lRyH.esm.js.map +0 -1
  86. package/dist/tonTransferAmount-C0I7SiC0.cjs.map +0 -1
  87. package/dist/tonTransferAmount-M9yHPDUW.esm.js.map +0 -1
@@ -12,7 +12,7 @@ type DiscoverAndRegisterWalletsParams = {
12
12
  * taken from the registry by default; a small override map handles wallets
13
13
  * whose registry name would otherwise be too generic (e.g. Telegram Wallet).
14
14
  *
15
- * @not-instrumented
15
+ * @notInstrumented
16
16
  */
17
17
  export declare const discoverAndRegisterWallets: ({ client, tonConnectUI, }: DiscoverAndRegisterWalletsParams) => Promise<void>;
18
18
  export {};
@@ -7,7 +7,7 @@ type ExtractPublicKeyFromStateInitParams = {
7
7
  * Parses the base64-encoded StateInit cell to retrieve the 32-byte public key
8
8
  * from the data cell, handling both V5R1 and standard wallet contract layouts.
9
9
  *
10
- * @not-instrumented
10
+ * @notInstrumented
11
11
  */
12
12
  export declare const extractPublicKeyFromStateInit: ({ stateInitBase64, }: ExtractPublicKeyFromStateInitParams) => string;
13
13
  export {};
@@ -1,5 +1,5 @@
1
- const require_tonTransferAmount = require('./tonTransferAmount-C0I7SiC0.cjs');
2
- const require_addTonConnectExtension = require('./addTonConnectExtension-BvDBUqVK.cjs');
1
+ const require_tonTransferAmount = require('./tonTransferAmount-DIkfZWiJ.cjs');
2
+ const require_addTonConnectExtension = require('./addTonConnectExtension-9stqf7f0.cjs');
3
3
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
4
4
 
5
5
  //#region src/exports/tonConnect.ts
@@ -1,5 +1,5 @@
1
- import { m as version, p as name } from "./tonTransferAmount-M9yHPDUW.esm.js";
2
- import { t as addTonConnectExtension } from "./addTonConnectExtension-Bl9l3Yx9.esm.js";
1
+ import { m as version, p as name } from "./tonTransferAmount-CNyAPQ_R.esm.js";
2
+ import { t as addTonConnectExtension } from "./addTonConnectExtension-PyzrvXe0.esm.js";
3
3
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
4
4
 
5
5
  //#region src/exports/tonConnect.ts
@@ -5,16 +5,16 @@ import { CHAIN } from "@tonconnect/sdk";
5
5
 
6
6
  //#region package.json
7
7
  var name = "@dynamic-labs-sdk/ton";
8
- var version = "1.12.2";
8
+ var version = "1.13.0";
9
9
 
10
10
  //#endregion
11
11
  //#region src/utils/createTonClient/createTonClient.ts
12
- /** @not-instrumented */
12
+ /** @notInstrumented */
13
13
  const createTonClient = ({ rpcUrl }) => new TonClient({ endpoint: rpcUrl });
14
14
 
15
15
  //#endregion
16
16
  //#region src/utils/fetchTonBalance/fetchTonBalance.ts
17
- /** @not-instrumented */
17
+ /** @notInstrumented */
18
18
  const fetchTonBalance = async ({ address, client }) => {
19
19
  try {
20
20
  return fromNano(await client.getBalance(Address.parse(address)));
@@ -25,7 +25,7 @@ const fetchTonBalance = async ({ address, client }) => {
25
25
 
26
26
  //#endregion
27
27
  //#region src/utils/createTonNetworkProvider/createTonNetworkProvider.ts
28
- /** @not-instrumented */
28
+ /** @notInstrumented */
29
29
  const createTonNetworkProvider = (networkData) => ({
30
30
  ...createBaseNetworkProvider("TON", networkData),
31
31
  getBalance: async ({ address }) => ({ balance: await fetchTonBalance({
@@ -36,7 +36,7 @@ const createTonNetworkProvider = (networkData) => ({
36
36
 
37
37
  //#endregion
38
38
  //#region src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts
39
- /** @not-instrumented */
39
+ /** @notInstrumented */
40
40
  const registerTonNetworkProviderBuilder = (client) => {
41
41
  const networkProviderBuilderRegistry = getNetworkProviderBuilderRegistry(client);
42
42
  if (networkProviderBuilderRegistry.get().get("TON")) return;
@@ -56,7 +56,7 @@ const TON_CONNECT_PREFIX = "ton-connect";
56
56
 
57
57
  //#endregion
58
58
  //#region src/utils/getJettonWalletAddress/getJettonWalletAddress.ts
59
- /** @not-instrumented */
59
+ /** @notInstrumented */
60
60
  const getJettonWalletAddress = async ({ jettonMasterAddress, ownerAddress, client }) => {
61
61
  const masterAddress = Address.parse(jettonMasterAddress);
62
62
  const owner = Address.parse(ownerAddress);
@@ -73,7 +73,7 @@ const getJettonWalletAddress = async ({ jettonMasterAddress, ownerAddress, clien
73
73
 
74
74
  //#endregion
75
75
  //#region src/utils/prepareJettonTransfer/prepareJettonTransfer.ts
76
- /** @not-instrumented */
76
+ /** @notInstrumented */
77
77
  const prepareJettonTransfer = async ({ walletAddress, jettonMasterAddress, recipientAddress, jettonAmount, forwardTonAmount, client, forwardPayload = "", timeout = DEFAULT_TIMEOUT, gasAmount = DEFAULT_JETTON_GAS, network = CHAIN.MAINNET }) => {
78
78
  const validUntil = Math.floor(Date.now() / 1e3) + timeout;
79
79
  const jettonWalletAddr = Address.parse(await getJettonWalletAddress({
@@ -110,7 +110,7 @@ const prepareJettonTransfer = async ({ walletAddress, jettonMasterAddress, recip
110
110
 
111
111
  //#endregion
112
112
  //#region src/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.ts
113
- /** @not-instrumented */
113
+ /** @notInstrumented */
114
114
  const prepareTonNativeTransfer = ({ walletAddress, recipient, amountInNanoton, timeout = DEFAULT_TIMEOUT, network = CHAIN.MAINNET }) => {
115
115
  const validUntil = Math.floor(Date.now() / 1e3) + timeout;
116
116
  const recipientAddress = Address.parse(recipient);
@@ -159,14 +159,14 @@ var NotTonProviderError = class extends BaseError {
159
159
  *
160
160
  * @param provider - The wallet provider to check.
161
161
  * @returns True if the wallet provider is a TON wallet provider, false otherwise.
162
- * @not-instrumented
162
+ * @notInstrumented
163
163
  */
164
164
  const isTonWalletProvider = (provider) => provider.chain === "TON";
165
165
 
166
166
  //#endregion
167
167
  //#region src/utils/tonTransferAmount/tonTransferAmount.ts
168
168
  const DEFAULT_DECIMALS = 9;
169
- /** @not-instrumented */
169
+ /** @notInstrumented */
170
170
  const tonTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
171
171
  const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
172
172
  if (!isTonWalletProvider(provider)) throw new NotTonProviderError({ providerKey: provider.key });
@@ -199,4 +199,4 @@ const tonTransferAmount = async ({ amount, recipient, token, walletAccount }, cl
199
199
 
200
200
  //#endregion
201
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-M9yHPDUW.esm.js.map
202
+ //# sourceMappingURL=tonTransferAmount-CNyAPQ_R.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tonTransferAmount-CNyAPQ_R.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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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 * @notInstrumented\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/** @notInstrumented */\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":";;;;;;;;;;;;ACOA,MAAa,mBAAmB,EAC9B,aACsC,IAAI,UAAU,EAAE,UAAU,QAAQ,CAAC;;;;;ACD3E,MAAa,kBAAkB,OAAO,EACpC,SACA,aACmD;AACnD,KAAI;AAGF,SAAO,SAFa,MAAM,OAAO,WAAW,QAAQ,MAAM,QAAQ,CAAC,CAEvC;SACtB;AACN,SAAO;;;;;;;ACTX,MAAa,4BACX,iBACwB;CACxB,GAAG,0BAA0B,OAAO,YAAY;CAChD,YAAY,OAAO,EAAE,eAAoC,EACvD,SAAS,MAAM,gBAAgB;EAC7B;EACA,QAAQ,gBAAgB,EAAE,QAAQ,YAAY,QAAQ,KAAK,IAAI,CAAC;EACjE,CAAC,EACH;CACF;;;;;ACZD,MAAa,qCACX,WACS;CACT,MAAM,iCACJ,kCAAkC,OAAO;AAE3C,KAAI,+BAA+B,KAAK,CAAC,IAAI,MAAM,CACjD;AAGF,gCAA+B,SAAS;EACtC,SAAS;EACT,OAAO;EACR,CAAC;;;;;ACnBJ,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB,OAAO,IAAW;AACpD,MAAa,kBAAkB,OAAO,IAAc;AACpD,MAAa,mBAAmB;AAChC,MAAa,qBAAqB;;;;;ACKlC,MAAa,yBAAyB,OAAO,EAC3C,qBACA,cACA,aACmD;CACnD,MAAM,gBAAgB,QAAQ,MAAM,oBAAoB;CACxD,MAAM,QAAQ,QAAQ,MAAM,aAAa;CAEzC,MAAM,YAAY,WAAW,CAAC,aAAa,MAAM,CAAC,SAAS;AAQ3D,SANe,MAAM,OAAO,UAAU,eAAe,sBAAsB,CACzE;EAAE,MAAM;EAAW,MAAM;EAAS,CACnC,CAAC,EAEiC,MAAM,aAAa,CAE3B,SAAS;EAClC,YAAY;EACZ,UAAU;EACV,SAAS;EACV,CAAC;;;;;;ACRJ,MAAa,wBAAwB,OAAO,EAC1C,eACA,qBACA,kBACA,cACA,kBACA,QACA,iBAAiB,IACjB,UAAU,iBACV,YAAY,oBACZ,UAAU,MAAM,cACqD;CACrE,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK,GAAG;CAEnD,MAAM,mBAAmB,QAAQ,MAC/B,MAAM,uBAAuB;EAC3B;EACA;EACA,cAAc;EACf,CAAC,CACH;CAED,MAAM,gBAAgB,QAAQ,MAAM,iBAAiB;CACrD,MAAM,aAAa,QAAQ,MAAM,cAAc;CAC/C,MAAM,YAAY,YAAY,MAAM;CAEpC,MAAM,qBAAqB,iBACvB,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,gBAAgB,eAAe,CAAC,SAAS,GACtE,WAAW,CAAC,SAAS;CAEzB,MAAM,qBAAqB,WAAW,CACnC,UAAU,WAAW,GAAG,CACxB,UAAU,GAAG,GAAG,CAChB,WAAW,aAAa,CACxB,aAAa,cAAc,CAC3B,aAAa,WAAW,CACxB,SAAS,EAAE,CACX,WAAW,iBAAiB,CAC5B,SAAS,EAAE,CACX,WAAW,mBAAmB,YAAY,CAAC,CAC3C,SAAS;CAEZ,MAAM,cAAc,mBAAmB;CAEvC,MAAM,UAAU;EACd,SAAS,iBAAiB,SAAS;GACjC,YAAY;GACZ,UAAU;GACV,SAAS;GACV,CAAC;EACF,QAAQ,YAAY,UAAU;EAC9B,SAAS,mBAAmB,OAAO,CAAC,SAAS,SAAS;EACvD;AAED,QAAO;EACL,MAAM,WAAW,SAAS;GACxB,YAAY;GACZ,UAAU;GACV,SAAS;GACV,CAAC;EACF,UAAU,CAAC,QAAQ;EACnB;EACA;EACD;;;;;;ACrEH,MAAa,4BAA4B,EACvC,eACA,WACA,iBACA,UAAU,iBACV,UAAU,MAAM,cAC+C;CAC/D,MAAM,aAAa,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK,GAAG;CAEnD,MAAM,mBAAmB,QAAQ,MAAM,UAAU;CAEjD,MAAM,aAAa,QAAQ,MAAM,cAAc;CAC/C,MAAM,YAAY,YAAY,MAAM;CAEpC,MAAM,UAAU;EACd,SAAS,iBAAiB,SAAS;GACjC,YAAY;GACZ,UAAU;GACV,SAAS;GACV,CAAC;EACF,QAAQ;EACT;AAED,QAAO;EACL,MAAM,WAAW,SAAS;GACxB,YAAY;GACZ,UAAU;GACV,SAAS;GACV,CAAC;EACF,UAAU,CAAC,QAAQ;EACnB;EACA;EACD;;;;;AC7CH,IAAa,sBAAb,cAAyC,UAAU;CACjD,AAAgB;CAEhB,YAAY,QAAiC;AAC3C,QAAM;GACJ,OAAO;GACP,MAAM;GACN,SAAS;GACT,MAAM;GACN,cAAc;GACf,CAAC;AACF,OAAK,cAAc,OAAO;;;;;;;;;;;;;ACF9B,MAAa,uBACX,aACkC,SAAS,UAAU;;;;ACHvD,MAAM,mBAAmB;;AAGzB,MAAa,oBAAoB,OAC/B,EAAE,QAAQ,WAAW,OAAO,iBAC5B,WACyC;CACzC,MAAM,WAAW,mCACf,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,KAAI,OAAO;EACT,MAAMA,cAAY,0BAA0B;GAC1C;GACA,UAAU,MAAM,YAAY;GAC7B,CAAC;AAEF,SAAO,SAAS,WAAW;GACzB,aAAa;IACX,QAAQA;IACR,qBAAqB,MAAM;IAC3B,kBAAkB;IACnB;GACD;GACD,CAAC;;CAGJ,MAAM,YAAY,0BAA0B;EAC1C;EACA,UAAU;EACX,CAAC;AAEF,QAAO,SAAS,QAAQ;EACtB,aAAa;GACX,QAAQ;GACR,kBAAkB;GACnB;EACD;EACD,CAAC"}
@@ -5,16 +5,16 @@ let _tonconnect_sdk = require("@tonconnect/sdk");
5
5
 
6
6
  //#region package.json
7
7
  var name = "@dynamic-labs-sdk/ton";
8
- var version = "1.12.2";
8
+ var version = "1.13.0";
9
9
 
10
10
  //#endregion
11
11
  //#region src/utils/createTonClient/createTonClient.ts
12
- /** @not-instrumented */
12
+ /** @notInstrumented */
13
13
  const createTonClient = ({ rpcUrl }) => new _ton_ton.TonClient({ endpoint: rpcUrl });
14
14
 
15
15
  //#endregion
16
16
  //#region src/utils/fetchTonBalance/fetchTonBalance.ts
17
- /** @not-instrumented */
17
+ /** @notInstrumented */
18
18
  const fetchTonBalance = async ({ address, client }) => {
19
19
  try {
20
20
  return (0, _ton_ton.fromNano)(await client.getBalance(_ton_ton.Address.parse(address)));
@@ -25,7 +25,7 @@ const fetchTonBalance = async ({ address, client }) => {
25
25
 
26
26
  //#endregion
27
27
  //#region src/utils/createTonNetworkProvider/createTonNetworkProvider.ts
28
- /** @not-instrumented */
28
+ /** @notInstrumented */
29
29
  const createTonNetworkProvider = (networkData) => ({
30
30
  ...(0, _dynamic_labs_sdk_client_core.createBaseNetworkProvider)("TON", networkData),
31
31
  getBalance: async ({ address }) => ({ balance: await fetchTonBalance({
@@ -36,7 +36,7 @@ const createTonNetworkProvider = (networkData) => ({
36
36
 
37
37
  //#endregion
38
38
  //#region src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts
39
- /** @not-instrumented */
39
+ /** @notInstrumented */
40
40
  const registerTonNetworkProviderBuilder = (client) => {
41
41
  const networkProviderBuilderRegistry = (0, _dynamic_labs_sdk_client_core.getNetworkProviderBuilderRegistry)(client);
42
42
  if (networkProviderBuilderRegistry.get().get("TON")) return;
@@ -56,7 +56,7 @@ const TON_CONNECT_PREFIX = "ton-connect";
56
56
 
57
57
  //#endregion
58
58
  //#region src/utils/getJettonWalletAddress/getJettonWalletAddress.ts
59
- /** @not-instrumented */
59
+ /** @notInstrumented */
60
60
  const getJettonWalletAddress = async ({ jettonMasterAddress, ownerAddress, client }) => {
61
61
  const masterAddress = _ton_ton.Address.parse(jettonMasterAddress);
62
62
  const owner = _ton_ton.Address.parse(ownerAddress);
@@ -73,7 +73,7 @@ const getJettonWalletAddress = async ({ jettonMasterAddress, ownerAddress, clien
73
73
 
74
74
  //#endregion
75
75
  //#region src/utils/prepareJettonTransfer/prepareJettonTransfer.ts
76
- /** @not-instrumented */
76
+ /** @notInstrumented */
77
77
  const prepareJettonTransfer = async ({ walletAddress, jettonMasterAddress, recipientAddress, jettonAmount, forwardTonAmount, client, forwardPayload = "", timeout = DEFAULT_TIMEOUT, gasAmount = DEFAULT_JETTON_GAS, network = _tonconnect_sdk.CHAIN.MAINNET }) => {
78
78
  const validUntil = Math.floor(Date.now() / 1e3) + timeout;
79
79
  const jettonWalletAddr = _ton_ton.Address.parse(await getJettonWalletAddress({
@@ -110,7 +110,7 @@ const prepareJettonTransfer = async ({ walletAddress, jettonMasterAddress, recip
110
110
 
111
111
  //#endregion
112
112
  //#region src/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.ts
113
- /** @not-instrumented */
113
+ /** @notInstrumented */
114
114
  const prepareTonNativeTransfer = ({ walletAddress, recipient, amountInNanoton, timeout = DEFAULT_TIMEOUT, network = _tonconnect_sdk.CHAIN.MAINNET }) => {
115
115
  const validUntil = Math.floor(Date.now() / 1e3) + timeout;
116
116
  const recipientAddress = _ton_ton.Address.parse(recipient);
@@ -159,14 +159,14 @@ var NotTonProviderError = class extends _dynamic_labs_sdk_client.BaseError {
159
159
  *
160
160
  * @param provider - The wallet provider to check.
161
161
  * @returns True if the wallet provider is a TON wallet provider, false otherwise.
162
- * @not-instrumented
162
+ * @notInstrumented
163
163
  */
164
164
  const isTonWalletProvider = (provider) => provider.chain === "TON";
165
165
 
166
166
  //#endregion
167
167
  //#region src/utils/tonTransferAmount/tonTransferAmount.ts
168
168
  const DEFAULT_DECIMALS = 9;
169
- /** @not-instrumented */
169
+ /** @notInstrumented */
170
170
  const tonTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
171
171
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
172
172
  if (!isTonWalletProvider(provider)) throw new NotTonProviderError({ providerKey: provider.key });
@@ -282,4 +282,4 @@ Object.defineProperty(exports, 'version', {
282
282
  return version;
283
283
  }
284
284
  });
285
- //# sourceMappingURL=tonTransferAmount-C0I7SiC0.cjs.map
285
+ //# sourceMappingURL=tonTransferAmount-DIkfZWiJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tonTransferAmount-DIkfZWiJ.cjs","names":["TonClient","Address","Address","CHAIN","Address","CHAIN","Address","BaseError","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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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/** @notInstrumented */\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 * @notInstrumented\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/** @notInstrumented */\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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"}