@dynamic-labs-sdk/ton 0.0.0 → 0.22.1

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 (159) 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/addTonExtension/addTonExtension.d.ts +13 -0
  9. package/dist/addTonExtension/addTonExtension.d.ts.map +1 -0
  10. package/dist/addTonExtension/index.d.ts +2 -0
  11. package/dist/addTonExtension/index.d.ts.map +1 -0
  12. package/dist/addWaasTonExtension-B8tYiMfm.esm.js +664 -0
  13. package/dist/addWaasTonExtension-B8tYiMfm.esm.js.map +1 -0
  14. package/dist/addWaasTonExtension-Dzrb4rja.cjs.js +717 -0
  15. package/dist/addWaasTonExtension-Dzrb4rja.cjs.js.map +1 -0
  16. package/dist/errors/InvalidBocError.d.ts +10 -0
  17. package/dist/errors/InvalidBocError.d.ts.map +1 -0
  18. package/dist/errors/InvalidSignatureLengthError.d.ts +10 -0
  19. package/dist/errors/InvalidSignatureLengthError.d.ts.map +1 -0
  20. package/dist/errors/NotTonProviderError.d.ts +8 -0
  21. package/dist/errors/NotTonProviderError.d.ts.map +1 -0
  22. package/dist/errors/PublicKeyNotFoundError.d.ts +5 -0
  23. package/dist/errors/PublicKeyNotFoundError.d.ts.map +1 -0
  24. package/dist/errors/TransactionExecutionFailedError.d.ts +5 -0
  25. package/dist/errors/TransactionExecutionFailedError.d.ts.map +1 -0
  26. package/dist/exports/index.d.ts +14 -0
  27. package/dist/exports/index.d.ts.map +1 -0
  28. package/dist/exports/waas.d.ts +5 -0
  29. package/dist/exports/waas.d.ts.map +1 -0
  30. package/dist/index.cjs.js +100 -0
  31. package/dist/index.cjs.js.map +1 -0
  32. package/dist/index.esm.js +92 -0
  33. package/dist/index.esm.js.map +1 -0
  34. package/dist/isTonNetworkProvider/index.d.ts +2 -0
  35. package/dist/isTonNetworkProvider/index.d.ts.map +1 -0
  36. package/dist/isTonNetworkProvider/isTonNetworkProvider.d.ts +11 -0
  37. package/dist/isTonNetworkProvider/isTonNetworkProvider.d.ts.map +1 -0
  38. package/dist/isTonWalletAccount/index.d.ts +2 -0
  39. package/dist/isTonWalletAccount/index.d.ts.map +1 -0
  40. package/dist/isTonWalletAccount/isTonWalletAccount.d.ts +11 -0
  41. package/dist/isTonWalletAccount/isTonWalletAccount.d.ts.map +1 -0
  42. package/dist/isTonWalletProvider/index.d.ts +2 -0
  43. package/dist/isTonWalletProvider/index.d.ts.map +1 -0
  44. package/dist/isTonWalletProvider/isTonWalletProvider.d.ts +11 -0
  45. package/dist/isTonWalletProvider/isTonWalletProvider.d.ts.map +1 -0
  46. package/dist/registerTonNetworkProviderBuilder/index.d.ts +2 -0
  47. package/dist/registerTonNetworkProviderBuilder/index.d.ts.map +1 -0
  48. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts +4 -0
  49. package/dist/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.d.ts.map +1 -0
  50. package/dist/sendJetton/index.d.ts +2 -0
  51. package/dist/sendJetton/index.d.ts.map +1 -0
  52. package/dist/sendJetton/sendJetton.d.ts +19 -0
  53. package/dist/sendJetton/sendJetton.d.ts.map +1 -0
  54. package/dist/sendTon/index.d.ts +2 -0
  55. package/dist/sendTon/index.d.ts.map +1 -0
  56. package/dist/sendTon/sendTon.d.ts +19 -0
  57. package/dist/sendTon/sendTon.d.ts.map +1 -0
  58. package/dist/ton.types.d.ts +48 -0
  59. package/dist/ton.types.d.ts.map +1 -0
  60. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  61. package/dist/utils/constants.d.ts +6 -0
  62. package/dist/utils/constants.d.ts.map +1 -0
  63. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts +5 -0
  64. package/dist/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.d.ts.map +1 -0
  65. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts +28 -0
  66. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.d.ts.map +1 -0
  67. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/index.d.ts +2 -0
  68. package/dist/utils/convertTonSendTransactionRequest/createInternalMessage/index.d.ts.map +1 -0
  69. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts +5 -0
  70. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.d.ts.map +1 -0
  71. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/index.d.ts +2 -0
  72. package/dist/utils/convertTonSendTransactionRequest/createSendMsgAction/index.d.ts.map +1 -0
  73. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts +3 -0
  74. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.d.ts.map +1 -0
  75. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/index.d.ts +2 -0
  76. package/dist/utils/convertTonSendTransactionRequest/determineBounceFlag/index.d.ts.map +1 -0
  77. package/dist/utils/convertTonSendTransactionRequest/index.d.ts +2 -0
  78. package/dist/utils/convertTonSendTransactionRequest/index.d.ts.map +1 -0
  79. package/dist/utils/convertTonSendTransactionRequest/parsePayload/index.d.ts +2 -0
  80. package/dist/utils/convertTonSendTransactionRequest/parsePayload/index.d.ts.map +1 -0
  81. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts +4 -0
  82. package/dist/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.d.ts.map +1 -0
  83. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/index.d.ts +2 -0
  84. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/index.d.ts.map +1 -0
  85. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts +7 -0
  86. package/dist/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.d.ts.map +1 -0
  87. package/dist/utils/createTonClient/createTonClient.d.ts +8 -0
  88. package/dist/utils/createTonClient/createTonClient.d.ts.map +1 -0
  89. package/dist/utils/createTonClient/index.d.ts +2 -0
  90. package/dist/utils/createTonClient/index.d.ts.map +1 -0
  91. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts +5 -0
  92. package/dist/utils/createTonNetworkProvider/createTonNetworkProvider.d.ts.map +1 -0
  93. package/dist/utils/createTonNetworkProvider/index.d.ts +2 -0
  94. package/dist/utils/createTonNetworkProvider/index.d.ts.map +1 -0
  95. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts +9 -0
  96. package/dist/utils/createTonWalletStateInit/createTonWalletStateInit.d.ts.map +1 -0
  97. package/dist/utils/createTonWalletStateInit/index.d.ts +2 -0
  98. package/dist/utils/createTonWalletStateInit/index.d.ts.map +1 -0
  99. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts +15 -0
  100. package/dist/utils/executeTonTransaction/executeTonTransaction.d.ts.map +1 -0
  101. package/dist/utils/executeTonTransaction/index.d.ts +2 -0
  102. package/dist/utils/executeTonTransaction/index.d.ts.map +1 -0
  103. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts +9 -0
  104. package/dist/utils/fetchTonBalance/fetchTonBalance.d.ts.map +1 -0
  105. package/dist/utils/fetchTonBalance/index.d.ts +2 -0
  106. package/dist/utils/fetchTonBalance/index.d.ts.map +1 -0
  107. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts +11 -0
  108. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofHash.d.ts.map +1 -0
  109. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts +11 -0
  110. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.d.ts.map +1 -0
  111. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/index.d.ts +2 -0
  112. package/dist/utils/generateTonConnectProofHash/generateTonConnectProofMessage/index.d.ts.map +1 -0
  113. package/dist/utils/generateTonConnectProofHash/index.d.ts +2 -0
  114. package/dist/utils/generateTonConnectProofHash/index.d.ts.map +1 -0
  115. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts +10 -0
  116. package/dist/utils/getJettonWalletAddress/getJettonWalletAddress.d.ts.map +1 -0
  117. package/dist/utils/getJettonWalletAddress/index.d.ts +2 -0
  118. package/dist/utils/getJettonWalletAddress/index.d.ts.map +1 -0
  119. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts +9 -0
  120. package/dist/utils/getTonWalletSeqno/getTonWalletSeqno.d.ts.map +1 -0
  121. package/dist/utils/getTonWalletSeqno/index.d.ts +2 -0
  122. package/dist/utils/getTonWalletSeqno/index.d.ts.map +1 -0
  123. package/dist/utils/isTonWalletDeployed/index.d.ts +2 -0
  124. package/dist/utils/isTonWalletDeployed/index.d.ts.map +1 -0
  125. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts +9 -0
  126. package/dist/utils/isTonWalletDeployed/isTonWalletDeployed.d.ts.map +1 -0
  127. package/dist/utils/prepareJettonTransfer/index.d.ts +2 -0
  128. package/dist/utils/prepareJettonTransfer/index.d.ts.map +1 -0
  129. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts +19 -0
  130. package/dist/utils/prepareJettonTransfer/prepareJettonTransfer.d.ts.map +1 -0
  131. package/dist/utils/prepareTonNativeTransfer/index.d.ts +2 -0
  132. package/dist/utils/prepareTonNativeTransfer/index.d.ts.map +1 -0
  133. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts +13 -0
  134. package/dist/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.d.ts.map +1 -0
  135. package/dist/utils/prepareTonTransaction/index.d.ts +2 -0
  136. package/dist/utils/prepareTonTransaction/index.d.ts.map +1 -0
  137. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts +20 -0
  138. package/dist/utils/prepareTonTransaction/prepareTonTransaction.d.ts.map +1 -0
  139. package/dist/utils/tonTransferAmount/index.d.ts +2 -0
  140. package/dist/utils/tonTransferAmount/index.d.ts.map +1 -0
  141. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts +7 -0
  142. package/dist/utils/tonTransferAmount/tonTransferAmount.d.ts.map +1 -0
  143. package/dist/waas/WaasTonWalletProvider.types.d.ts +4 -0
  144. package/dist/waas/WaasTonWalletProvider.types.d.ts.map +1 -0
  145. package/dist/waas/addWaasTonExtension/addWaasTonExtension.d.ts +12 -0
  146. package/dist/waas/addWaasTonExtension/addWaasTonExtension.d.ts.map +1 -0
  147. package/dist/waas/addWaasTonExtension/index.d.ts +2 -0
  148. package/dist/waas/addWaasTonExtension/index.d.ts.map +1 -0
  149. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts +5 -0
  150. package/dist/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.d.ts.map +1 -0
  151. package/dist/waas/utils/createWalletProviderForWaasTon/index.d.ts +2 -0
  152. package/dist/waas/utils/createWalletProviderForWaasTon/index.d.ts.map +1 -0
  153. package/dist/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.d.ts +7 -0
  154. package/dist/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.d.ts.map +1 -0
  155. package/dist/waas.cjs.js +11 -0
  156. package/dist/waas.cjs.js.map +1 -0
  157. package/dist/waas.esm.js +9 -0
  158. package/dist/waas.esm.js.map +1 -0
  159. package/package.json +45 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addWaasTonExtension-Dzrb4rja.cjs.js","names":["TonClient","Address","BaseError","SendMode","BaseError","Cell","Cell","actions: OutActionSendMsg[]","Address","WalletContractV5R1","BaseError","Cell","Address","Address","Address","Address","Address","CHAIN","Address","CHAIN","Address","WalletContractV5R1","CHAIN","Address","BaseError","rawAmount","BaseError","WalletProviderEnum","DYNAMIC_WAAS_METADATA","getActiveNetworkId: WaasTonWalletProvider['getActiveNetworkId']","switchActiveNetwork: WaasTonWalletProvider['switchActiveNetwork']","getConnectedAddresses: WaasTonWalletProvider['getConnectedAddresses']","signMessage: WaasTonWalletProvider['signMessage']","sendTransaction: WaasTonWalletProvider['sendTransaction']","CHAIN","MFAAction","sendTon: WaasTonWalletProvider['sendTon']","sendJetton: WaasTonWalletProvider['sendJetton']","generateTonConnectProof: WaasTonWalletProvider['generateTonConnectProof']","WalletProviderPriority"],"sources":["../package.json","../src/utils/createTonClient/createTonClient.ts","../src/utils/fetchTonBalance/fetchTonBalance.ts","../src/utils/createTonNetworkProvider/createTonNetworkProvider.ts","../src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts","../src/errors/TransactionExecutionFailedError.ts","../src/utils/constants.ts","../src/utils/convertTonSendTransactionRequest/createInternalMessage/createInternalMessage.ts","../src/utils/convertTonSendTransactionRequest/createSendMsgAction/createSendMsgAction.ts","../src/utils/convertTonSendTransactionRequest/determineBounceFlag/determineBounceFlag.ts","../src/errors/InvalidBocError.ts","../src/utils/convertTonSendTransactionRequest/parsePayload/parsePayload.ts","../src/utils/convertTonSendTransactionRequest/parseStateInit/parseStateInit.ts","../src/utils/convertTonSendTransactionRequest/convertTonSendTransactionRequest.ts","../src/utils/createTonWalletStateInit/createTonWalletStateInit.ts","../src/errors/InvalidSignatureLengthError.ts","../src/utils/executeTonTransaction/executeTonTransaction.ts","../src/utils/generateTonConnectProofHash/generateTonConnectProofMessage/generateTonConnectProofMessage.ts","../src/utils/generateTonConnectProofHash/generateTonConnectProofHash.ts","../src/utils/getTonWalletSeqno/getTonWalletSeqno.ts","../src/utils/isTonWalletDeployed/isTonWalletDeployed.ts","../src/utils/getJettonWalletAddress/getJettonWalletAddress.ts","../src/utils/prepareJettonTransfer/prepareJettonTransfer.ts","../src/utils/prepareTonTransaction/prepareTonTransaction.ts","../src/utils/prepareTonNativeTransfer/prepareTonNativeTransfer.ts","../src/errors/NotTonProviderError.ts","../src/isTonWalletProvider/isTonWalletProvider.ts","../src/utils/tonTransferAmount/tonTransferAmount.ts","../src/errors/PublicKeyNotFoundError.ts","../src/waas/utils/getPublicKeyForWalletAccount/getPublicKeyForWalletAccount.ts","../src/waas/utils/createWalletProviderForWaasTon/createWalletProviderForWaasTon.ts","../src/waas/addWaasTonExtension/addWaasTonExtension.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","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class TransactionExecutionFailedError extends BaseError {\n constructor(message?: string) {\n super({\n cause: null,\n code: 'transaction_execution_failed_error',\n details: message,\n docsUrl: null,\n name: 'TransactionExecutionFailedError',\n shortMessage: 'Failed to execute TON transaction',\n });\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 type { Address, Cell } from '@ton/ton';\n\n/** @not-instrumented */\nexport const createInternalMessage = (\n destAddr: Address,\n amount: bigint,\n body: Cell,\n bounce: boolean,\n init?: { code: Cell; data: Cell }\n) => ({\n body,\n info: {\n bounce,\n bounced: false,\n createdAt: 0,\n createdLt: BigInt(0),\n dest: destAddr,\n forwardFee: BigInt(0),\n ihrDisabled: true,\n ihrFee: BigInt(0),\n src: null,\n type: 'internal' as const,\n value: { coins: amount },\n },\n ...(init && { init }),\n});\n","import { type OutActionSendMsg, SendMode } from '@ton/core';\n\nimport type { createInternalMessage } from '../createInternalMessage';\n\n/** @not-instrumented */\nexport const createSendMsgAction = (\n internalMessage: ReturnType<typeof createInternalMessage>\n): OutActionSendMsg => ({\n mode: SendMode.PAY_GAS_SEPARATELY | SendMode.IGNORE_ERRORS,\n outMsg: internalMessage,\n type: 'sendMsg' as const,\n});\n","/** @not-instrumented */\nexport const determineBounceFlag = (address: string): boolean =>\n !address.startsWith('UQ') && !address.startsWith('0Q');\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\ntype InvalidBocErrorParams = {\n cause: Error | null;\n type: 'payload' | 'stateInit';\n};\n\nexport class InvalidBocError extends BaseError {\n constructor({ cause, type }: InvalidBocErrorParams) {\n super({\n cause,\n code: 'invalid_boc_error',\n docsUrl: null,\n name: 'InvalidBocError',\n shortMessage: `Invalid ${type} BOC`,\n });\n }\n}\n","import { Cell, beginCell } from '@ton/ton';\n\nimport { InvalidBocError } from '../../../errors/InvalidBocError';\n\n/** @not-instrumented */\nexport const parsePayload = (payload: string | undefined): Cell => {\n if (!payload) {\n return beginCell().endCell();\n }\n\n try {\n return Cell.fromBase64(payload);\n } catch (e) {\n throw new InvalidBocError({\n cause: e instanceof Error ? e : null,\n type: 'payload',\n });\n }\n};\n","import { Cell } from '@ton/ton';\n\nimport { InvalidBocError } from '../../../errors/InvalidBocError';\n\n/** @not-instrumented */\nexport const parseStateInit = (\n stateInit: string | undefined\n): { code: Cell; data: Cell } | undefined => {\n if (!stateInit) {\n return undefined;\n }\n\n try {\n const stateInitCell = Cell.fromBase64(stateInit);\n const slice = stateInitCell.beginParse();\n // skip split_depth and special flags\n slice.skip(2);\n\n return {\n code: slice.loadRef(),\n data: slice.loadRef(),\n };\n } catch (e) {\n throw new InvalidBocError({\n cause: e instanceof Error ? e : null,\n type: 'stateInit',\n });\n }\n};\n","import { type OutActionSendMsg } from '@ton/core';\nimport { Address } from '@ton/ton';\n\nimport type { TonSendTransactionRequest } from '../../ton.types';\nimport { createInternalMessage } from './createInternalMessage';\nimport { createSendMsgAction } from './createSendMsgAction';\nimport { determineBounceFlag } from './determineBounceFlag';\nimport { parsePayload } from './parsePayload';\nimport { parseStateInit } from './parseStateInit';\n\n/** @not-instrumented */\nexport const convertTonSendTransactionRequest = (\n request: TonSendTransactionRequest\n): OutActionSendMsg[] => {\n const actions: OutActionSendMsg[] = [];\n\n for (const msg of request.messages) {\n const destAddr = Address.parse(msg.address);\n const amount = BigInt(msg.amount);\n const body = parsePayload(msg.payload);\n const init = parseStateInit(msg.stateInit);\n const bounce = determineBounceFlag(msg.address);\n\n const internalMessage = createInternalMessage(\n destAddr,\n amount,\n body,\n bounce,\n init\n );\n\n actions.push(createSendMsgAction(internalMessage));\n }\n\n return actions;\n};\n","import type { StateInit } from '@ton/core';\nimport { WalletContractV5R1 } from '@ton/ton';\n\ntype CreateTonWalletStateInitParams = {\n publicKey: Buffer;\n workchain?: number;\n};\n\n/** @not-instrumented */\nexport const createTonWalletStateInit = ({\n publicKey,\n workchain = 0,\n}: CreateTonWalletStateInitParams): StateInit => {\n const wallet = WalletContractV5R1.create({\n publicKey,\n workchain,\n });\n\n return wallet.init;\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\ntype InvalidSignatureLengthErrorParams = {\n actual: number;\n expected: number;\n};\n\nexport class InvalidSignatureLengthError extends BaseError {\n constructor({ actual, expected }: InvalidSignatureLengthErrorParams) {\n super({\n cause: null,\n code: 'invalid_signature_length_error',\n docsUrl: null,\n name: 'InvalidSignatureLengthError',\n shortMessage: `Invalid signature length: expected ${expected} bytes, got ${actual}`,\n });\n }\n}\n","import { getBuffer } from '@dynamic-labs-sdk/client/core';\nimport { type StateInit, external, storeMessage } from '@ton/core';\nimport { Address, Cell, type TonClient, beginCell } from '@ton/ton';\n\nimport { InvalidSignatureLengthError } from '../../errors/InvalidSignatureLengthError';\nimport type { TonTransactionData } from '../../ton.types';\n\ntype ExecuteTonTransactionParams = {\n client: TonClient;\n signature: string;\n stateInit?: StateInit;\n transactionData: TonTransactionData;\n};\n\n/** @not-instrumented */\nexport const executeTonTransaction = async ({\n transactionData,\n signature,\n client,\n stateInit,\n}: ExecuteTonTransactionParams): Promise<{ transactionHash: string }> => {\n const signatureBuffer = getBuffer().from(signature, 'base64');\n\n if (signatureBuffer.length !== 64) {\n throw new InvalidSignatureLengthError({\n actual: signatureBuffer.length,\n expected: 64,\n });\n }\n\n const signingMessageCell = Cell.fromBase64(transactionData.messageBody);\n\n const signedMessageBody = beginCell()\n .storeSlice(signingMessageCell.beginParse())\n .storeBuffer(signatureBuffer)\n .endCell();\n\n const address = Address.parse(transactionData.address);\n\n const externalMsg = external({\n body: signedMessageBody,\n to: address,\n ...(stateInit ? { init: stateInit } : {}),\n });\n\n const externalMessage = beginCell()\n .store(storeMessage(externalMsg, { forceRef: true }))\n .endCell();\n\n const boc = externalMessage.toBoc();\n\n await client.sendFile(boc);\n\n const transactionHash = externalMessage.hash().toString('hex');\n\n return { transactionHash };\n};\n","import { getBuffer } from '@dynamic-labs-sdk/client/core';\nimport { Address } from '@ton/ton';\n\nimport type { TonConnectDomain } from '../../../ton.types';\nimport { TON_PROOF_PREFIX } from '../../constants';\n\ntype GenerateTonConnectProofMessageParams = {\n address: string;\n domain: TonConnectDomain;\n payload: string;\n timestamp: number;\n};\n\n/** @not-instrumented */\nexport const generateTonConnectProofMessage = ({\n address: addressStr,\n domain,\n payload,\n timestamp,\n}: GenerateTonConnectProofMessageParams) => {\n const BufferImpl = getBuffer();\n const address = Address.parse(addressStr);\n\n const domainBytes = BufferImpl.from(domain.value);\n\n // Workchain (32-bit big-endian)\n const wc = BufferImpl.alloc(4);\n wc.writeUInt32BE(address.workChain, 0);\n\n // Timestamp (64-bit little-endian)\n const ts = BufferImpl.alloc(8);\n ts.writeBigUInt64LE(BigInt(timestamp), 0);\n\n // Domain length (32-bit little-endian)\n const dl = BufferImpl.alloc(4);\n dl.writeUInt32LE(domain.lengthBytes, 0);\n\n return BufferImpl.concat([\n BufferImpl.from(TON_PROOF_PREFIX) as Uint8Array,\n wc,\n address.hash,\n dl,\n domainBytes,\n ts,\n BufferImpl.from(payload),\n ]);\n};\n","import { getBuffer } from '@dynamic-labs-sdk/client/core';\nimport { sha256 } from '@ton/crypto';\n\nimport type { TonConnectDomain } from '../../ton.types';\nimport { TON_CONNECT_PREFIX } from '../constants';\nimport { generateTonConnectProofMessage } from './generateTonConnectProofMessage';\n\ntype GenerateTonConnectProofHashParams = {\n address: string;\n domain: TonConnectDomain;\n payload: string;\n timestamp: number;\n};\n\n/** @not-instrumented */\nexport const generateTonConnectProofHash = async ({\n address,\n domain,\n payload,\n timestamp,\n}: GenerateTonConnectProofHashParams): Promise<string> => {\n const BufferImpl = getBuffer();\n\n const message = generateTonConnectProofMessage({\n address,\n domain,\n payload,\n timestamp,\n });\n\n const messageHash = BufferImpl.from(\n (await sha256(message)) as Uint8Array\n );\n\n const fullMsg = BufferImpl.concat([\n BufferImpl.from([0xff, 0xff]) as Uint8Array,\n BufferImpl.from(TON_CONNECT_PREFIX) as Uint8Array,\n messageHash,\n ]);\n\n const hash = BufferImpl.from((await sha256(fullMsg)) as Uint8Array);\n\n return hash.toString('hex');\n};\n","import { Address, type TonClient } from '@ton/ton';\n\ntype GetTonWalletSeqnoParams = {\n client: TonClient;\n walletAddress: string;\n};\n\n/** @not-instrumented */\nexport const getTonWalletSeqno = async ({\n walletAddress,\n client,\n}: GetTonWalletSeqnoParams): Promise<number> => {\n const address = Address.parse(walletAddress);\n const result = await client.runMethod(address, 'seqno');\n\n return result.stack.readNumber();\n};\n","import { Address, type TonClient } from '@ton/ton';\n\ntype IsTonWalletDeployedParams = {\n client: TonClient;\n walletAddress: string;\n};\n\n/** @not-instrumented */\nexport const isTonWalletDeployed = async ({\n walletAddress,\n client,\n}: IsTonWalletDeployedParams): Promise<boolean> => {\n const address = Address.parse(walletAddress);\n const state = await client.getContractState(address);\n\n return state.state === 'active';\n};\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 { type OutActionSendMsg, storeOutList } from '@ton/core';\nimport { Address, WalletContractV5R1, beginCell } from '@ton/ton';\nimport { CHAIN } from '@tonconnect/sdk';\n\nimport type { TonTransactionData } from '../../ton.types';\n\ntype PrepareTonTransactionParams = {\n actionsArray: OutActionSendMsg[];\n networkGlobalId?: CHAIN;\n seqno: number;\n timeout: number;\n validUntil: number;\n walletAddress: string;\n};\n\ntype PrepareTonTransactionResult = {\n hashToSign: Buffer;\n hashToSignHex: string;\n transactionData: TonTransactionData;\n};\n\n/** @not-instrumented */\nexport const prepareTonTransaction = ({\n actionsArray,\n walletAddress,\n seqno,\n validUntil,\n timeout,\n networkGlobalId = CHAIN.MAINNET,\n}: PrepareTonTransactionParams): PrepareTonTransactionResult => {\n const walletAddr = Address.parse(walletAddress);\n\n const actionsCell = beginCell().store(storeOutList(actionsArray)).endCell();\n\n const actions = beginCell()\n .storeBit(1)\n .storeRef(actionsCell)\n .storeBit(0)\n .endCell();\n\n const context = beginCell()\n .storeUint(1, 1)\n .storeInt(walletAddr.workChain, 8)\n .storeUint(0, 8)\n .storeUint(0, 15)\n .endCell()\n .beginParse()\n .loadInt(32);\n\n const walletIdValue = BigInt(networkGlobalId) ^ BigInt(context);\n\n const signingMessage = beginCell()\n .storeUint(WalletContractV5R1.OpCodes.auth_signed_external, 32)\n .storeInt(walletIdValue, 32);\n\n if (seqno === 0) {\n for (let i = 0; i < 32; i++) {\n signingMessage.storeBit(1);\n }\n } else {\n signingMessage.storeUint(validUntil, 32);\n }\n\n signingMessage.storeUint(seqno, 32).storeSlice(actions.beginParse());\n\n const dataToSign = signingMessage.endCell();\n const hashToSign = dataToSign.hash();\n const hashToSignHex = hashToSign.toString('hex');\n\n const messageBody = dataToSign.toBoc().toString('base64');\n\n const transactionData: TonTransactionData = {\n address: walletAddress,\n messageBody,\n seqno,\n timeout,\n };\n\n return {\n hashToSign,\n hashToSignHex,\n transactionData,\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","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class PublicKeyNotFoundError extends BaseError {\n constructor(address: string) {\n super({\n cause: null,\n code: 'public_key_not_found_error',\n docsUrl: null,\n name: 'PublicKeyNotFoundError',\n shortMessage: `No public key found for address ${address}`,\n });\n }\n}\n","import type { DynamicClient, WalletAccount } from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\n\nimport { PublicKeyNotFoundError } from '../../../errors/PublicKeyNotFoundError';\n\n/**\n * Gets the public key for a wallet account from the user's verified credentials\n * @not-instrumented\n */\nexport const getPublicKeyForWalletAccount = (\n walletAccount: WalletAccount,\n client: DynamicClient\n): string => {\n const user = getCore(client).state.get().user;\n\n for (const credential of user?.verifiedCredentials ?? []) {\n const additionalAddress = credential.walletAdditionalAddresses?.find(\n (addr) => addr.address === walletAccount.address\n );\n\n if (additionalAddress?.publicKey) {\n return additionalAddress.publicKey;\n }\n }\n\n throw new PublicKeyNotFoundError(walletAccount.address);\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n consumeMfaTokenIfRequiredForAction,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n getBuffer,\n getNetworkProviderFromNetworkId,\n getSignedSessionId,\n switchActiveNetworkInLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport {\n DYNAMIC_WAAS_METADATA,\n createWaasProvider,\n getAllUserWaasAddressesForChain,\n} from '@dynamic-labs-sdk/client/waas/core';\nimport { MFAAction, WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport type { TonClient } from '@ton/ton';\nimport { CHAIN } from '@tonconnect/sdk';\n\nimport { TransactionExecutionFailedError } from '../../../errors/TransactionExecutionFailedError';\nimport { DEFAULT_JETTON_GAS, DEFAULT_TIMEOUT } from '../../../utils/constants';\nimport { convertTonSendTransactionRequest } from '../../../utils/convertTonSendTransactionRequest';\nimport { createTonClient } from '../../../utils/createTonClient';\nimport { createTonWalletStateInit } from '../../../utils/createTonWalletStateInit';\nimport { executeTonTransaction } from '../../../utils/executeTonTransaction';\nimport { generateTonConnectProofHash } from '../../../utils/generateTonConnectProofHash';\nimport { getTonWalletSeqno } from '../../../utils/getTonWalletSeqno';\nimport { isTonWalletDeployed } from '../../../utils/isTonWalletDeployed';\nimport { prepareJettonTransfer } from '../../../utils/prepareJettonTransfer';\nimport { prepareTonTransaction } from '../../../utils/prepareTonTransaction';\nimport { prepareTonNativeTransfer } from '../../../utils/prepareTonNativeTransfer';\nimport { tonTransferAmount } from '../../../utils/tonTransferAmount';\nimport type { WaasTonWalletProvider } from '../../WaasTonWalletProvider.types';\nimport { getPublicKeyForWalletAccount } from '../getPublicKeyForWalletAccount/getPublicKeyForWalletAccount';\n\n/** @not-instrumented */\nexport const createWalletProviderForWaasTon = (\n sdkClient: DynamicClient\n): WaasTonWalletProvider => {\n const chain = 'TON' as const;\n const walletProviderType = WalletProviderEnum.EmbeddedWallet;\n\n const key = formatWalletProviderKey({\n chain,\n displayName: DYNAMIC_WAAS_METADATA.displayName,\n walletProviderType,\n });\n\n const waasProvider = createWaasProvider({ chain, sdkClient });\n\n const getTonClientForActiveNetwork = async (): Promise<TonClient> => {\n const { networkId } = await getActiveNetworkId();\n const networkProvider = getNetworkProviderFromNetworkId(\n { chain: 'TON', networkId },\n sdkClient\n );\n\n return createTonClient({ rpcUrl: networkProvider.rpcUrls.http[0] });\n };\n\n const getActiveNetworkId: WaasTonWalletProvider['getActiveNetworkId'] =\n async () =>\n getActiveNetworkIdFromLastKnownRegistry({\n client: sdkClient,\n walletProviderKey: key,\n });\n\n const switchActiveNetwork: WaasTonWalletProvider['switchActiveNetwork'] =\n async ({ networkId }: { networkId: string }) =>\n switchActiveNetworkInLastKnownRegistry({\n client: sdkClient,\n networkId,\n walletProviderKey: key,\n });\n\n const getConnectedAddresses: WaasTonWalletProvider['getConnectedAddresses'] =\n async () => ({\n addresses: getAllUserWaasAddressesForChain({ chain }, sdkClient),\n });\n\n const signMessage: WaasTonWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n return waasProvider.signMessage({ message, walletAccount });\n };\n\n const sendTransaction: WaasTonWalletProvider['sendTransaction'] = async ({\n request,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const client = await getTonClientForActiveNetwork();\n const walletAddress = request.from || walletAccount.address;\n\n const deployed = await isTonWalletDeployed({ client, walletAddress });\n const seqno = deployed\n ? await getTonWalletSeqno({ client, walletAddress })\n : 0;\n\n const publicKeyHex = getPublicKeyForWalletAccount(walletAccount, sdkClient);\n const stateInit = deployed\n ? undefined\n : createTonWalletStateInit({\n publicKey: getBuffer().from(publicKeyHex, 'hex'),\n workchain: 0,\n });\n\n const actionsArray = convertTonSendTransactionRequest(request);\n\n const timeoutSeconds = request.validUntil - Math.floor(Date.now() / 1000);\n\n if (timeoutSeconds <= 0) {\n throw new TransactionExecutionFailedError(\n 'Transaction validUntil is in the past'\n );\n }\n\n const { hashToSignHex, transactionData } = prepareTonTransaction({\n actionsArray,\n networkGlobalId: request.network || CHAIN.MAINNET,\n seqno,\n timeout: timeoutSeconds,\n validUntil: request.validUntil,\n walletAddress,\n });\n\n const waasClient = await waasProvider.getWaasClient();\n const { signature: signedSessionId } = await getSignedSessionId(sdkClient);\n const mfaToken = await consumeMfaTokenIfRequiredForAction(\n { mfaAction: MFAAction.WalletWaasSign },\n sdkClient\n );\n\n const signature = await waasClient.signTransaction({\n authToken: sdkClient.token ?? undefined,\n mfaToken,\n senderAddress: walletAccount.address,\n signedSessionId,\n transaction: hashToSignHex,\n });\n\n return executeTonTransaction({\n client,\n signature,\n stateInit,\n transactionData,\n });\n };\n\n const sendTon: WaasTonWalletProvider['sendTon'] = async ({\n transaction,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const request = prepareTonNativeTransfer({\n amountInNanoton: transaction.amount.toString(),\n recipient: transaction.recipientAddress,\n timeout: DEFAULT_TIMEOUT,\n walletAddress: walletAccount.address,\n });\n\n return sendTransaction({ request, walletAccount });\n };\n\n const sendJetton: WaasTonWalletProvider['sendJetton'] = async ({\n transaction,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const client = await getTonClientForActiveNetwork();\n\n const request = await prepareJettonTransfer({\n client,\n forwardTonAmount: transaction.forwardTonAmount ?? BigInt(0),\n gasAmount: transaction.gasAmount ?? DEFAULT_JETTON_GAS,\n jettonAmount: transaction.amount,\n jettonMasterAddress: transaction.jettonMasterAddress,\n recipientAddress: transaction.recipientAddress,\n timeout: DEFAULT_TIMEOUT,\n walletAddress: walletAccount.address,\n });\n\n return sendTransaction({ request, walletAccount });\n };\n\n const generateTonConnectProof: WaasTonWalletProvider['generateTonConnectProof'] =\n async ({ payload, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const host = globalThis.location?.host || '';\n const timestamp = Math.floor(Date.now() / 1000);\n const domain = {\n lengthBytes: new TextEncoder().encode(host).length,\n value: host,\n };\n\n const hashHex = await generateTonConnectProofHash({\n address: walletAccount.address,\n domain,\n payload,\n timestamp,\n });\n\n const { signature } = await signMessage({\n message: hashHex,\n walletAccount,\n });\n\n return {\n address: walletAccount.address,\n domain,\n payload,\n signature,\n timestamp,\n };\n };\n\n return {\n ...waasProvider,\n chain,\n generateTonConnectProof,\n getActiveNetworkId,\n getConnectedAddresses,\n groupKey: formatWalletProviderGroupKey(DYNAMIC_WAAS_METADATA.displayName),\n key,\n metadata: {\n displayName: DYNAMIC_WAAS_METADATA.displayName,\n icon: DYNAMIC_WAAS_METADATA.icon,\n },\n sendJetton,\n sendTon,\n sendTransaction,\n signMessage,\n switchActiveNetwork,\n transferAmount: (args) => tonTransferAmount(args, sdkClient),\n walletProviderType,\n };\n};\n","import {\n WalletProviderPriority,\n getDefaultClient,\n getWalletProviderRegistry,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { registerTonNetworkProviderBuilder } from '../../registerTonNetworkProviderBuilder';\nimport { createWalletProviderForWaasTon } from '../utils/createWalletProviderForWaasTon';\n\nexport const WAAS_TON_EXTENSION_KEY = 'waasTon';\n\n/**\n * Adds the Dynamic WaaS (Wallet as a Service) TON extension to the Dynamic client.\n *\n * This extension enables embedded wallet functionality for the TON blockchain,\n * allowing users to have wallets managed by Dynamic's infrastructure.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @not-instrumented\n */\nexport const addWaasTonExtension = (client = getDefaultClient()): void => {\n if (hasExtension({ extensionKey: WAAS_TON_EXTENSION_KEY }, client)) {\n return;\n }\n\n registerExtension({ extensionKey: WAAS_TON_EXTENSION_KEY }, client);\n registerTonNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n const walletProvider = createWalletProviderForWaasTon(client);\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SDK,\n walletProvider,\n });\n};\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ type InvalidBocErrorParams = {
3
+ cause: Error | null;
4
+ type: 'payload' | 'stateInit';
5
+ };
6
+ export declare class InvalidBocError extends BaseError {
7
+ constructor({ cause, type }: InvalidBocErrorParams);
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=InvalidBocError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidBocError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidBocError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;CAC/B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,qBAAqB;CASnD"}
@@ -0,0 +1,10 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ type InvalidSignatureLengthErrorParams = {
3
+ actual: number;
4
+ expected: number;
5
+ };
6
+ export declare class InvalidSignatureLengthError extends BaseError {
7
+ constructor({ actual, expected }: InvalidSignatureLengthErrorParams);
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=InvalidSignatureLengthError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidSignatureLengthError.d.ts","sourceRoot":"","sources":["../../src/errors/InvalidSignatureLengthError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,KAAK,iCAAiC,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,SAAS;gBAC5C,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iCAAiC;CASpE"}
@@ -0,0 +1,8 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ export declare class NotTonProviderError extends BaseError {
3
+ readonly providerKey: string;
4
+ constructor(params: {
5
+ providerKey: string;
6
+ });
7
+ }
8
+ //# sourceMappingURL=NotTonProviderError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotTonProviderError.d.ts","sourceRoot":"","sources":["../../src/errors/NotTonProviderError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;CAU5C"}
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ export declare class PublicKeyNotFoundError extends BaseError {
3
+ constructor(address: string);
4
+ }
5
+ //# sourceMappingURL=PublicKeyNotFoundError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicKeyNotFoundError.d.ts","sourceRoot":"","sources":["../../src/errors/PublicKeyNotFoundError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,OAAO,EAAE,MAAM;CAS5B"}
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ export declare class TransactionExecutionFailedError extends BaseError {
3
+ constructor(message?: string);
4
+ }
5
+ //# sourceMappingURL=TransactionExecutionFailedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionExecutionFailedError.d.ts","sourceRoot":"","sources":["../../src/errors/TransactionExecutionFailedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,+BAAgC,SAAQ,SAAS;gBAChD,OAAO,CAAC,EAAE,MAAM;CAU7B"}
@@ -0,0 +1,14 @@
1
+ export { addTonExtension } from '../addTonExtension';
2
+ export { NotTonProviderError } from '../errors/NotTonProviderError';
3
+ export { TransactionExecutionFailedError } from '../errors/TransactionExecutionFailedError';
4
+ export { isTonNetworkProvider } from '../isTonNetworkProvider';
5
+ export { isTonWalletAccount } from '../isTonWalletAccount';
6
+ export { isTonWalletProvider } from '../isTonWalletProvider';
7
+ export { sendJetton } from '../sendJetton';
8
+ export { sendTon } from '../sendTon';
9
+ export type { TonJettonTransfer, TonNativeTransfer, TonConnectProof, TonSendTransactionRequest, TonSendTransactionResponse, } from '../ton.types';
10
+ export type { TonNetworkProvider } from '../TonNetworkProvider.types';
11
+ export type { TonWalletAccount } from '../TonWalletAccount.types';
12
+ export type { TonWalletProvider } from '../TonWalletProvider.types';
13
+ export { NANOTON_PER_TON } from '../utils/constants';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { addWaasTonExtension } from '../waas/addWaasTonExtension';
2
+ export { prepareJettonTransfer } from '../utils/prepareJettonTransfer';
3
+ export { prepareTonNativeTransfer } from '../utils/prepareTonNativeTransfer';
4
+ export type { WaasTonWalletProvider } from '../waas/WaasTonWalletProvider.types';
5
+ //# sourceMappingURL=waas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waas.d.ts","sourceRoot":"","sources":["../../src/exports/waas.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,100 @@
1
+ const require_addWaasTonExtension = require('./addWaasTonExtension-Dzrb4rja.cjs.js');
2
+ let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
3
+ let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
4
+ let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
5
+
6
+ //#region src/addTonExtension/addTonExtension.ts
7
+ /**
8
+ * Adds the TON extension to the Dynamic client.
9
+ *
10
+ * This is a convenience function that adds the Dynamic WaaS TON extension,
11
+ * enabling support for embedded wallets managed by Dynamic's infrastructure.
12
+ * TonConnect external wallet support will be composed through this function
13
+ * once the TonConnect extension is added.
14
+ *
15
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
16
+ * @not-instrumented
17
+ */
18
+ const addTonExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
19
+ require_addWaasTonExtension.addWaasTonExtension(client);
20
+ };
21
+
22
+ //#endregion
23
+ //#region src/isTonNetworkProvider/isTonNetworkProvider.ts
24
+ /**
25
+ * Type guard function to check if a network provider is a TON network provider.
26
+ *
27
+ * @param networkProvider - The network provider to check.
28
+ * @returns True if the network provider is a TON network provider, false otherwise.
29
+ * @not-instrumented
30
+ */
31
+ const isTonNetworkProvider = (networkProvider) => networkProvider.chain === "TON";
32
+
33
+ //#endregion
34
+ //#region src/isTonWalletAccount/isTonWalletAccount.ts
35
+ /**
36
+ * Type guard function to check if a wallet account is a TON wallet account.
37
+ *
38
+ * @param walletAccount - The wallet account to check.
39
+ * @returns True if the wallet account is a TON wallet account, false otherwise.
40
+ * @not-instrumented
41
+ */
42
+ const isTonWalletAccount = (walletAccount) => walletAccount.chain === "TON";
43
+
44
+ //#endregion
45
+ //#region src/sendJetton/sendJetton.ts
46
+ /**
47
+ * Sends a Jetton (TON token) transaction.
48
+ *
49
+ * @param params.transaction - The Jetton transaction to send
50
+ * @param params.walletAccount - The wallet account to send the transaction from
51
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
52
+ * @returns An object containing the transaction hash
53
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
54
+ * @not-instrumented
55
+ */
56
+ const sendJetton = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
57
+ const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
58
+ if (!require_addWaasTonExtension.isTonWalletProvider(provider)) throw new require_addWaasTonExtension.NotTonProviderError({ providerKey: provider.key });
59
+ return provider.sendJetton({
60
+ transaction,
61
+ walletAccount
62
+ });
63
+ };
64
+
65
+ //#endregion
66
+ //#region src/sendTon/sendTon.ts
67
+ /**
68
+ * Sends a native TON transaction.
69
+ *
70
+ * @param params.transaction - The native TON transaction to send
71
+ * @param params.walletAccount - The wallet account to send the transaction from
72
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
73
+ * @returns An object containing the transaction hash
74
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
75
+ * @not-instrumented
76
+ */
77
+ const sendTon = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
78
+ const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
79
+ if (!require_addWaasTonExtension.isTonWalletProvider(provider)) throw new require_addWaasTonExtension.NotTonProviderError({ providerKey: provider.key });
80
+ return provider.sendTon({
81
+ transaction,
82
+ walletAccount
83
+ });
84
+ };
85
+
86
+ //#endregion
87
+ //#region src/exports/index.ts
88
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_addWaasTonExtension.name, require_addWaasTonExtension.version);
89
+
90
+ //#endregion
91
+ exports.NANOTON_PER_TON = require_addWaasTonExtension.NANOTON_PER_TON;
92
+ exports.NotTonProviderError = require_addWaasTonExtension.NotTonProviderError;
93
+ exports.TransactionExecutionFailedError = require_addWaasTonExtension.TransactionExecutionFailedError;
94
+ exports.addTonExtension = addTonExtension;
95
+ exports.isTonNetworkProvider = isTonNetworkProvider;
96
+ exports.isTonWalletAccount = isTonWalletAccount;
97
+ exports.isTonWalletProvider = require_addWaasTonExtension.isTonWalletProvider;
98
+ exports.sendJetton = sendJetton;
99
+ exports.sendTon = sendTon;
100
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","names":["isTonWalletProvider","NotTonProviderError","isTonWalletProvider","NotTonProviderError","packageName","packageVersion"],"sources":["../src/addTonExtension/addTonExtension.ts","../src/isTonNetworkProvider/isTonNetworkProvider.ts","../src/isTonWalletAccount/isTonWalletAccount.ts","../src/sendJetton/sendJetton.ts","../src/sendTon/sendTon.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addWaasTonExtension } from '../waas/addWaasTonExtension';\n\n/**\n * Adds the TON extension to the Dynamic client.\n *\n * This is a convenience function that adds the Dynamic WaaS TON extension,\n * enabling support for embedded wallets managed by Dynamic's infrastructure.\n * TonConnect external wallet support will be composed through this function\n * once the TonConnect extension is added.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @not-instrumented\n */\nexport const addTonExtension = (client = getDefaultClient()): void => {\n addWaasTonExtension(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { TonNetworkProvider } from '../TonNetworkProvider.types';\n\n/**\n * Type guard function to check if a network provider is a TON network provider.\n *\n * @param networkProvider - The network provider to check.\n * @returns True if the network provider is a TON network provider, false otherwise.\n * @not-instrumented\n */\nexport const isTonNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is TonNetworkProvider => networkProvider.chain === 'TON';\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\n\n/**\n * Type guard function to check if a wallet account is a TON wallet account.\n *\n * @param walletAccount - The wallet account to check.\n * @returns True if the wallet account is a TON wallet account, false otherwise.\n * @not-instrumented\n */\nexport const isTonWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is TonWalletAccount => walletAccount.chain === 'TON';\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonJettonTransfer, TonSendTransactionResponse } from '../ton.types';\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\nimport { NotTonProviderError } from '../errors/NotTonProviderError';\nimport { isTonWalletProvider } from '../isTonWalletProvider';\n\ntype SendJettonParams = {\n transaction: TonJettonTransfer;\n walletAccount: TonWalletAccount;\n};\n\n/**\n * Sends a Jetton (TON token) transaction.\n *\n * @param params.transaction - The Jetton transaction to send\n * @param params.walletAccount - The wallet account to send the transaction from\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the transaction hash\n * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider\n * @not-instrumented\n */\nexport const sendJetton = async (\n { walletAccount, transaction }: SendJettonParams,\n client = getDefaultClient()\n): Promise<TonSendTransactionResponse> => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isTonWalletProvider(provider)) {\n throw new NotTonProviderError({ providerKey: provider.key });\n }\n\n return provider.sendJetton({ transaction, walletAccount });\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonNativeTransfer, TonSendTransactionResponse } from '../ton.types';\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\nimport { NotTonProviderError } from '../errors/NotTonProviderError';\nimport { isTonWalletProvider } from '../isTonWalletProvider';\n\ntype SendTonParams = {\n transaction: TonNativeTransfer;\n walletAccount: TonWalletAccount;\n};\n\n/**\n * Sends a native TON transaction.\n *\n * @param params.transaction - The native TON transaction to send\n * @param params.walletAccount - The wallet account to send the transaction from\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the transaction hash\n * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider\n * @not-instrumented\n */\nexport const sendTon = async (\n { walletAccount, transaction }: SendTonParams,\n client = getDefaultClient()\n): Promise<TonSendTransactionResponse> => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isTonWalletProvider(provider)) {\n throw new NotTonProviderError({ providerKey: provider.key });\n }\n\n return provider.sendTon({ transaction, walletAccount });\n};\n","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 { addTonExtension } from '../addTonExtension';\nexport { NotTonProviderError } from '../errors/NotTonProviderError';\nexport { TransactionExecutionFailedError } from '../errors/TransactionExecutionFailedError';\nexport { isTonNetworkProvider } from '../isTonNetworkProvider';\nexport { isTonWalletAccount } from '../isTonWalletAccount';\nexport { isTonWalletProvider } from '../isTonWalletProvider';\nexport { sendJetton } from '../sendJetton';\nexport { sendTon } from '../sendTon';\nexport type {\n TonJettonTransfer,\n TonNativeTransfer,\n TonConnectProof,\n TonSendTransactionRequest,\n TonSendTransactionResponse,\n} from '../ton.types';\nexport type { TonNetworkProvider } from '../TonNetworkProvider.types';\nexport type { TonWalletAccount } from '../TonWalletAccount.types';\nexport type { TonWalletProvider } from '../TonWalletProvider.types';\nexport { NANOTON_PER_TON } from '../utils/constants';\n"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAa,mBAAmB,8DAA2B,KAAW;AACpE,iDAAoB,OAAO;;;;;;;;;;;;ACL7B,MAAa,wBACX,oBAC0C,gBAAgB,UAAU;;;;;;;;;;;ACFtE,MAAa,sBACX,kBACsC,cAAc,UAAU;;;;;;;;;;;;;;ACUhE,MAAa,aAAa,OACxB,EAAE,eAAe,eACjB,yDAA2B,KACa;CACxC,MAAM,iFACJ,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAACA,gDAAoB,SAAS,CAChC,OAAM,IAAIC,gDAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,WAAW;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;ACb5D,MAAa,UAAU,OACrB,EAAE,eAAe,eACjB,yDAA2B,KACa;CACxC,MAAM,iFACJ,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAACC,gDAAoB,SAAS,CAChC,OAAM,IAAIC,gDAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,QAAQ;EAAE;EAAa;EAAe,CAAC;;;;;mEC7BpCC,kCAAaC,oCAAe"}
@@ -0,0 +1,92 @@
1
+ import { c as name, l as version, n as isTonWalletProvider, o as NANOTON_PER_TON, r as NotTonProviderError, s as TransactionExecutionFailedError, t as addWaasTonExtension } from "./addWaasTonExtension-B8tYiMfm.esm.js";
2
+ import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
3
+ import { getDefaultClient, getWalletProviderFromWalletAccount } from "@dynamic-labs-sdk/client/core";
4
+ import { getDefaultClient as getDefaultClient$1 } from "@dynamic-labs-sdk/client";
5
+
6
+ //#region src/addTonExtension/addTonExtension.ts
7
+ /**
8
+ * Adds the TON extension to the Dynamic client.
9
+ *
10
+ * This is a convenience function that adds the Dynamic WaaS TON extension,
11
+ * enabling support for embedded wallets managed by Dynamic's infrastructure.
12
+ * TonConnect external wallet support will be composed through this function
13
+ * once the TonConnect extension is added.
14
+ *
15
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
16
+ * @not-instrumented
17
+ */
18
+ const addTonExtension = (client = getDefaultClient()) => {
19
+ addWaasTonExtension(client);
20
+ };
21
+
22
+ //#endregion
23
+ //#region src/isTonNetworkProvider/isTonNetworkProvider.ts
24
+ /**
25
+ * Type guard function to check if a network provider is a TON network provider.
26
+ *
27
+ * @param networkProvider - The network provider to check.
28
+ * @returns True if the network provider is a TON network provider, false otherwise.
29
+ * @not-instrumented
30
+ */
31
+ const isTonNetworkProvider = (networkProvider) => networkProvider.chain === "TON";
32
+
33
+ //#endregion
34
+ //#region src/isTonWalletAccount/isTonWalletAccount.ts
35
+ /**
36
+ * Type guard function to check if a wallet account is a TON wallet account.
37
+ *
38
+ * @param walletAccount - The wallet account to check.
39
+ * @returns True if the wallet account is a TON wallet account, false otherwise.
40
+ * @not-instrumented
41
+ */
42
+ const isTonWalletAccount = (walletAccount) => walletAccount.chain === "TON";
43
+
44
+ //#endregion
45
+ //#region src/sendJetton/sendJetton.ts
46
+ /**
47
+ * Sends a Jetton (TON token) transaction.
48
+ *
49
+ * @param params.transaction - The Jetton transaction to send
50
+ * @param params.walletAccount - The wallet account to send the transaction from
51
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
52
+ * @returns An object containing the transaction hash
53
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
54
+ * @not-instrumented
55
+ */
56
+ const sendJetton = async ({ walletAccount, transaction }, client = getDefaultClient$1()) => {
57
+ const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
58
+ if (!isTonWalletProvider(provider)) throw new NotTonProviderError({ providerKey: provider.key });
59
+ return provider.sendJetton({
60
+ transaction,
61
+ walletAccount
62
+ });
63
+ };
64
+
65
+ //#endregion
66
+ //#region src/sendTon/sendTon.ts
67
+ /**
68
+ * Sends a native TON transaction.
69
+ *
70
+ * @param params.transaction - The native TON transaction to send
71
+ * @param params.walletAccount - The wallet account to send the transaction from
72
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
73
+ * @returns An object containing the transaction hash
74
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
75
+ * @not-instrumented
76
+ */
77
+ const sendTon = async ({ walletAccount, transaction }, client = getDefaultClient$1()) => {
78
+ const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
79
+ if (!isTonWalletProvider(provider)) throw new NotTonProviderError({ providerKey: provider.key });
80
+ return provider.sendTon({
81
+ transaction,
82
+ walletAccount
83
+ });
84
+ };
85
+
86
+ //#endregion
87
+ //#region src/exports/index.ts
88
+ assertPackageVersion(name, version);
89
+
90
+ //#endregion
91
+ export { NANOTON_PER_TON, NotTonProviderError, TransactionExecutionFailedError, addTonExtension, isTonNetworkProvider, isTonWalletAccount, isTonWalletProvider, sendJetton, sendTon };
92
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","names":["getDefaultClient","getDefaultClient","packageName","packageVersion"],"sources":["../src/addTonExtension/addTonExtension.ts","../src/isTonNetworkProvider/isTonNetworkProvider.ts","../src/isTonWalletAccount/isTonWalletAccount.ts","../src/sendJetton/sendJetton.ts","../src/sendTon/sendTon.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addWaasTonExtension } from '../waas/addWaasTonExtension';\n\n/**\n * Adds the TON extension to the Dynamic client.\n *\n * This is a convenience function that adds the Dynamic WaaS TON extension,\n * enabling support for embedded wallets managed by Dynamic's infrastructure.\n * TonConnect external wallet support will be composed through this function\n * once the TonConnect extension is added.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @not-instrumented\n */\nexport const addTonExtension = (client = getDefaultClient()): void => {\n addWaasTonExtension(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { TonNetworkProvider } from '../TonNetworkProvider.types';\n\n/**\n * Type guard function to check if a network provider is a TON network provider.\n *\n * @param networkProvider - The network provider to check.\n * @returns True if the network provider is a TON network provider, false otherwise.\n * @not-instrumented\n */\nexport const isTonNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is TonNetworkProvider => networkProvider.chain === 'TON';\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\n\n/**\n * Type guard function to check if a wallet account is a TON wallet account.\n *\n * @param walletAccount - The wallet account to check.\n * @returns True if the wallet account is a TON wallet account, false otherwise.\n * @not-instrumented\n */\nexport const isTonWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is TonWalletAccount => walletAccount.chain === 'TON';\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonJettonTransfer, TonSendTransactionResponse } from '../ton.types';\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\nimport { NotTonProviderError } from '../errors/NotTonProviderError';\nimport { isTonWalletProvider } from '../isTonWalletProvider';\n\ntype SendJettonParams = {\n transaction: TonJettonTransfer;\n walletAccount: TonWalletAccount;\n};\n\n/**\n * Sends a Jetton (TON token) transaction.\n *\n * @param params.transaction - The Jetton transaction to send\n * @param params.walletAccount - The wallet account to send the transaction from\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the transaction hash\n * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider\n * @not-instrumented\n */\nexport const sendJetton = async (\n { walletAccount, transaction }: SendJettonParams,\n client = getDefaultClient()\n): Promise<TonSendTransactionResponse> => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isTonWalletProvider(provider)) {\n throw new NotTonProviderError({ providerKey: provider.key });\n }\n\n return provider.sendJetton({ transaction, walletAccount });\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { TonNativeTransfer, TonSendTransactionResponse } from '../ton.types';\nimport type { TonWalletAccount } from '../TonWalletAccount.types';\nimport { NotTonProviderError } from '../errors/NotTonProviderError';\nimport { isTonWalletProvider } from '../isTonWalletProvider';\n\ntype SendTonParams = {\n transaction: TonNativeTransfer;\n walletAccount: TonWalletAccount;\n};\n\n/**\n * Sends a native TON transaction.\n *\n * @param params.transaction - The native TON transaction to send\n * @param params.walletAccount - The wallet account to send the transaction from\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the transaction hash\n * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider\n * @not-instrumented\n */\nexport const sendTon = async (\n { walletAccount, transaction }: SendTonParams,\n client = getDefaultClient()\n): Promise<TonSendTransactionResponse> => {\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isTonWalletProvider(provider)) {\n throw new NotTonProviderError({ providerKey: provider.key });\n }\n\n return provider.sendTon({ transaction, walletAccount });\n};\n","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 { addTonExtension } from '../addTonExtension';\nexport { NotTonProviderError } from '../errors/NotTonProviderError';\nexport { TransactionExecutionFailedError } from '../errors/TransactionExecutionFailedError';\nexport { isTonNetworkProvider } from '../isTonNetworkProvider';\nexport { isTonWalletAccount } from '../isTonWalletAccount';\nexport { isTonWalletProvider } from '../isTonWalletProvider';\nexport { sendJetton } from '../sendJetton';\nexport { sendTon } from '../sendTon';\nexport type {\n TonJettonTransfer,\n TonNativeTransfer,\n TonConnectProof,\n TonSendTransactionRequest,\n TonSendTransactionResponse,\n} from '../ton.types';\nexport type { TonNetworkProvider } from '../TonNetworkProvider.types';\nexport type { TonWalletAccount } from '../TonWalletAccount.types';\nexport type { TonWalletProvider } from '../TonWalletProvider.types';\nexport { NANOTON_PER_TON } from '../utils/constants';\n"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAa,mBAAmB,SAAS,kBAAkB,KAAW;AACpE,qBAAoB,OAAO;;;;;;;;;;;;ACL7B,MAAa,wBACX,oBAC0C,gBAAgB,UAAU;;;;;;;;;;;ACFtE,MAAa,sBACX,kBACsC,cAAc,UAAU;;;;;;;;;;;;;;ACUhE,MAAa,aAAa,OACxB,EAAE,eAAe,eACjB,SAASA,oBAAkB,KACa;CACxC,MAAM,WAAW,mCACf,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,WAAW;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;ACb5D,MAAa,UAAU,OACrB,EAAE,eAAe,eACjB,SAASC,oBAAkB,KACa;CACxC,MAAM,WAAW,mCACf,EAAE,eAAe,EACjB,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,QAAQ;EAAE;EAAa;EAAe,CAAC;;;;;AC7BzD,qBAAqBC,MAAaC,QAAe"}
@@ -0,0 +1,2 @@
1
+ export { isTonNetworkProvider } from './isTonNetworkProvider';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/isTonNetworkProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { NetworkProvider } from '@dynamic-labs-sdk/client';
2
+ import type { TonNetworkProvider } from '../TonNetworkProvider.types';
3
+ /**
4
+ * Type guard function to check if a network provider is a TON network provider.
5
+ *
6
+ * @param networkProvider - The network provider to check.
7
+ * @returns True if the network provider is a TON network provider, false otherwise.
8
+ * @not-instrumented
9
+ */
10
+ export declare const isTonNetworkProvider: (networkProvider: NetworkProvider) => networkProvider is TonNetworkProvider;
11
+ //# sourceMappingURL=isTonNetworkProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTonNetworkProvider.d.ts","sourceRoot":"","sources":["../../src/isTonNetworkProvider/isTonNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,oBACd,eAAe,KAC/B,eAAe,IAAI,kBAAqD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { isTonWalletAccount } from './isTonWalletAccount';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/isTonWalletAccount/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { WalletAccount } from '@dynamic-labs-sdk/client';
2
+ import type { TonWalletAccount } from '../TonWalletAccount.types';
3
+ /**
4
+ * Type guard function to check if a wallet account is a TON wallet account.
5
+ *
6
+ * @param walletAccount - The wallet account to check.
7
+ * @returns True if the wallet account is a TON wallet account, false otherwise.
8
+ * @not-instrumented
9
+ */
10
+ export declare const isTonWalletAccount: (walletAccount: WalletAccount) => walletAccount is TonWalletAccount;
11
+ //# sourceMappingURL=isTonWalletAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTonWalletAccount.d.ts","sourceRoot":"","sources":["../../src/isTonWalletAccount/isTonWalletAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,kBACd,aAAa,KAC3B,aAAa,IAAI,gBAAiD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { isTonWalletProvider } from './isTonWalletProvider';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/isTonWalletProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { WalletProvider } from '@dynamic-labs-sdk/client/core';
2
+ import type { TonWalletProvider } from '../TonWalletProvider.types';
3
+ /**
4
+ * Type guard function to check if a wallet provider is a TON wallet provider.
5
+ *
6
+ * @param provider - The wallet provider to check.
7
+ * @returns True if the wallet provider is a TON wallet provider, false otherwise.
8
+ * @not-instrumented
9
+ */
10
+ export declare const isTonWalletProvider: (provider: WalletProvider) => provider is TonWalletProvider;
11
+ //# sourceMappingURL=isTonWalletProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTonWalletProvider.d.ts","sourceRoot":"","sources":["../../src/isTonWalletProvider/isTonWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aACpB,cAAc,KACvB,QAAQ,IAAI,iBAA6C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { registerTonNetworkProviderBuilder } from './registerTonNetworkProviderBuilder';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registerTonNetworkProviderBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ /** @not-instrumented */
3
+ export declare const registerTonNetworkProviderBuilder: (client: DynamicClient) => void;
4
+ //# sourceMappingURL=registerTonNetworkProviderBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTonNetworkProviderBuilder.d.ts","sourceRoot":"","sources":["../../src/registerTonNetworkProviderBuilder/registerTonNetworkProviderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,wBAAwB;AACxB,eAAO,MAAM,iCAAiC,WACpC,aAAa,KACpB,IAYF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { sendJetton } from './sendJetton';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sendJetton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { TonJettonTransfer, TonSendTransactionResponse } from '../ton.types';
2
+ import type { TonWalletAccount } from '../TonWalletAccount.types';
3
+ type SendJettonParams = {
4
+ transaction: TonJettonTransfer;
5
+ walletAccount: TonWalletAccount;
6
+ };
7
+ /**
8
+ * Sends a Jetton (TON token) transaction.
9
+ *
10
+ * @param params.transaction - The Jetton transaction to send
11
+ * @param params.walletAccount - The wallet account to send the transaction from
12
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
13
+ * @returns An object containing the transaction hash
14
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
15
+ * @not-instrumented
16
+ */
17
+ export declare const sendJetton: ({ walletAccount, transaction }: SendJettonParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<TonSendTransactionResponse>;
18
+ export {};
19
+ //# sourceMappingURL=sendJetton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendJetton.d.ts","sourceRoot":"","sources":["../../src/sendJetton/sendJetton.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,mCACW,gBAAgB,gEAE/C,OAAO,CAAC,0BAA0B,CAWpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { sendTon } from './sendTon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sendTon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { TonNativeTransfer, TonSendTransactionResponse } from '../ton.types';
2
+ import type { TonWalletAccount } from '../TonWalletAccount.types';
3
+ type SendTonParams = {
4
+ transaction: TonNativeTransfer;
5
+ walletAccount: TonWalletAccount;
6
+ };
7
+ /**
8
+ * Sends a native TON transaction.
9
+ *
10
+ * @param params.transaction - The native TON transaction to send
11
+ * @param params.walletAccount - The wallet account to send the transaction from
12
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
13
+ * @returns An object containing the transaction hash
14
+ * @throws {NotTonProviderError} If the wallet provider is not a TON wallet provider
15
+ * @not-instrumented
16
+ */
17
+ export declare const sendTon: ({ walletAccount, transaction }: SendTonParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<TonSendTransactionResponse>;
18
+ export {};
19
+ //# sourceMappingURL=sendTon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendTon.d.ts","sourceRoot":"","sources":["../../src/sendTon/sendTon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,mCACc,aAAa,gEAE5C,OAAO,CAAC,0BAA0B,CAWpC,CAAC"}