@dynamic-labs-sdk/sui 1.12.2 → 1.14.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 (53) hide show
  1. package/dist/addSuiExtension/addSuiExtension.d.ts +1 -1
  2. package/dist/{addSuiWalletStandardExtension-B1kd13ya.cjs → addSuiWalletStandardExtension-B5E9YuBV.cjs} +4 -4
  3. package/dist/addSuiWalletStandardExtension-B5E9YuBV.cjs.map +1 -0
  4. package/dist/{addSuiWalletStandardExtension-Bd6qAv2w.esm.js → addSuiWalletStandardExtension-BUUBDezH.esm.js} +4 -4
  5. package/dist/{addSuiWalletStandardExtension-B1kd13ya.cjs.map → addSuiWalletStandardExtension-BUUBDezH.esm.js.map} +1 -1
  6. package/dist/{addWaasSuiExtension-BuK78pPD.cjs → addWaasSuiExtension-C2ukbJ0_.cjs} +4 -4
  7. package/dist/addWaasSuiExtension-C2ukbJ0_.cjs.map +1 -0
  8. package/dist/{addWaasSuiExtension-BIhBCVDZ.esm.js → addWaasSuiExtension-OLtbSrQ5.esm.js} +4 -4
  9. package/dist/addWaasSuiExtension-OLtbSrQ5.esm.js.map +1 -0
  10. package/dist/getSuiClient/getSuiClient.d.ts +1 -1
  11. package/dist/index.cjs +9 -9
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.esm.js +9 -9
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/isSuiNetworkProvider/isSuiNetworkProvider.d.ts +1 -1
  16. package/dist/isSuiWalletAccount/isSuiWalletAccount.d.ts +1 -1
  17. package/dist/isSuiWalletProvider/isSuiWalletProvider.d.ts +1 -1
  18. package/dist/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +1 -1
  19. package/dist/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts +1 -1
  20. package/dist/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +1 -1
  21. package/dist/signAndExecuteTransaction/signAndExecuteTransaction.d.ts +1 -1
  22. package/dist/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts +1 -1
  23. package/dist/signTransaction/signTransaction.d.ts +1 -1
  24. package/dist/signTransactionBlock/signTransactionBlock.d.ts +1 -1
  25. package/dist/{suiTransferAmount-U0bmbruo.esm.js → suiTransferAmount-DZBfkeei.esm.js} +12 -12
  26. package/dist/suiTransferAmount-DZBfkeei.esm.js.map +1 -0
  27. package/dist/{suiTransferAmount-BB39PARg.cjs → suiTransferAmount-HjcEglKT.cjs} +12 -12
  28. package/dist/suiTransferAmount-HjcEglKT.cjs.map +1 -0
  29. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  30. package/dist/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts +1 -1
  31. package/dist/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +1 -1
  32. package/dist/utils/fetchSuiBalance/fetchSuiBalance.d.ts +1 -1
  33. package/dist/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +1 -1
  34. package/dist/utils/getSuiTransactionHistory/getSuiTransactionHistory.d.ts +1 -1
  35. package/dist/utils/suiConfirmTransaction/suiConfirmTransaction.d.ts +1 -1
  36. package/dist/utils/suiExecuteSwapTransaction/suiExecuteSwapTransaction.d.ts +1 -1
  37. package/dist/utils/suiTransferAmount/suiTransferAmount.d.ts +1 -1
  38. package/dist/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts +1 -1
  39. package/dist/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts +1 -1
  40. package/dist/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -1
  41. package/dist/waas.cjs +2 -2
  42. package/dist/waas.esm.js +2 -2
  43. package/dist/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts +1 -1
  44. package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts +1 -1
  45. package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -1
  46. package/dist/walletStandard.cjs +2 -2
  47. package/dist/walletStandard.esm.js +2 -2
  48. package/package.json +3 -3
  49. package/dist/addSuiWalletStandardExtension-Bd6qAv2w.esm.js.map +0 -1
  50. package/dist/addWaasSuiExtension-BIhBCVDZ.esm.js.map +0 -1
  51. package/dist/addWaasSuiExtension-BuK78pPD.cjs.map +0 -1
  52. package/dist/suiTransferAmount-BB39PARg.cjs.map +0 -1
  53. package/dist/suiTransferAmount-U0bmbruo.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"isSuiWalletProvider.d.ts","sourceRoot":"","sources":["../../src/isSuiWalletProvider/isSuiWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,wBAAwB;AACxB,eAAO,MAAM,mBAAmB,aACpB,cAAc,KACvB,QAAQ,IAAI,iBAEd,CAAC"}
1
+ {"version":3,"file":"isSuiWalletProvider.d.ts","sourceRoot":"","sources":["../../src/isSuiWalletProvider/isSuiWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,uBAAuB;AACvB,eAAO,MAAM,mBAAmB,aACpB,cAAc,KACvB,QAAQ,IAAI,iBAEd,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
- /** @not-instrumented */
2
+ /** @notInstrumented */
3
3
  export declare const registerSuiNetworkProviderBuilder: (client: DynamicClient) => void;
4
4
  //# sourceMappingURL=registerSuiNetworkProviderBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerSuiNetworkProviderBuilder.d.ts","sourceRoot":"","sources":["../../src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,wBAAwB;AACxB,eAAO,MAAM,iCAAiC,WACpC,aAAa,KACpB,IAeF,CAAC"}
1
+ {"version":3,"file":"registerSuiNetworkProviderBuilder.d.ts","sourceRoot":"","sources":["../../src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,uBAAuB;AACvB,eAAO,MAAM,iCAAiC,WACpC,aAAa,KACpB,IAeF,CAAC"}
@@ -11,7 +11,7 @@ type SignAndExecuteTransactionParams = {
11
11
  * @param params.walletAccount - The wallet account to sign the transaction with
12
12
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
13
13
  * @returns An object containing the signature and transaction bytes
14
- * @not-instrumented
14
+ * @notInstrumented
15
15
  */
16
16
  export declare const signAndExecuteTransaction: ({ walletAccount, transaction }: SignAndExecuteTransactionParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<SuiSignAndExecuteTransactionResult>;
17
17
  export {};
@@ -19,7 +19,7 @@ type SignAndExecuteTransactionBlockParams = {
19
19
  * @param [params.requestType] - The request type to use for the transaction execution
20
20
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
21
21
  * @returns An object containing signature result
22
- * @not-instrumented
22
+ * @notInstrumented
23
23
  */
24
24
  export declare const signAndExecuteTransactionBlock: ({ walletAccount, transactionBlock, options, requestType, }: SignAndExecuteTransactionBlockParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<SuiSignAndExecuteTransactionBlockResult>;
25
25
  export {};
@@ -11,7 +11,7 @@ type SignTransactionParams = {
11
11
  * @param params.walletAccount - The wallet account to sign the transaction with
12
12
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
13
13
  * @returns An object containing the signature and transaction bytes
14
- * @not-instrumented
14
+ * @notInstrumented
15
15
  */
16
16
  export declare const signTransaction: ({ walletAccount, transaction }: SignTransactionParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<SuiSignTransactionResult>;
17
17
  export {};
@@ -14,7 +14,7 @@ type SignTransactionBlockParams = {
14
14
  * @param params.walletAccount - The wallet account to sign the transaction with
15
15
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
16
16
  * @returns An object containing the signature and transaction block bytes
17
- * @not-instrumented
17
+ * @notInstrumented
18
18
  */
19
19
  export declare const signTransactionBlock: ({ walletAccount, transactionBlock }: SignTransactionBlockParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<SuiSignTransactionBlockResult>;
20
20
  export {};
@@ -6,11 +6,11 @@ import { Transaction } from "@mysten/sui/transactions";
6
6
 
7
7
  //#region package.json
8
8
  var name = "@dynamic-labs-sdk/sui";
9
- var version = "1.12.2";
9
+ var version = "1.14.0";
10
10
 
11
11
  //#endregion
12
12
  //#region src/utils/fetchSuiBalance/fetchSuiBalance.ts
13
- /** @not-instrumented */
13
+ /** @notInstrumented */
14
14
  const fetchSuiBalance = async ({ address, networkData }) => {
15
15
  const balanceInMist = await new SuiClient({ url: networkData.rpcUrls.http[0] }).getBalance({ owner: address });
16
16
  const balance = Number(balanceInMist.totalBalance) / Number(MIST_PER_SUI);
@@ -20,7 +20,7 @@ const fetchSuiBalance = async ({ address, networkData }) => {
20
20
 
21
21
  //#endregion
22
22
  //#region src/utils/createSuiNetworkProvider/createSuiNetworkProvider.ts
23
- /** @not-instrumented */
23
+ /** @notInstrumented */
24
24
  const createSuiNetworkProvider = (networkData) => ({
25
25
  ...createBaseNetworkProvider("SUI", networkData),
26
26
  getBalance: async ({ address }) => ({ balance: await fetchSuiBalance({
@@ -31,7 +31,7 @@ const createSuiNetworkProvider = (networkData) => ({
31
31
 
32
32
  //#endregion
33
33
  //#region src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts
34
- /** @not-instrumented */
34
+ /** @notInstrumented */
35
35
  const registerSuiNetworkProviderBuilder = (client) => {
36
36
  const networkProviderBuilderRegistry = getNetworkProviderBuilderRegistry(client);
37
37
  /**
@@ -62,7 +62,7 @@ var NotSuiProviderError = class extends BaseError {
62
62
 
63
63
  //#endregion
64
64
  //#region src/isSuiWalletProvider/isSuiWalletProvider.ts
65
- /** @not-instrumented */
65
+ /** @notInstrumented */
66
66
  const isSuiWalletProvider = (provider) => {
67
67
  return provider.chain === "SUI";
68
68
  };
@@ -76,7 +76,7 @@ const isSuiWalletProvider = (provider) => {
76
76
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
77
77
  * @returns A promise that resolves to a SuiClient instance
78
78
  * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider
79
- * @not-instrumented
79
+ * @notInstrumented
80
80
  */
81
81
  const getSuiClient = async ({ walletAccount }, client = getDefaultClient()) => {
82
82
  const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
@@ -91,7 +91,7 @@ const getSuiClient = async ({ walletAccount }, client = getDefaultClient()) => {
91
91
  *
92
92
  * @param walletAccount - The wallet account to check.
93
93
  * @returns True if the wallet account is a Sui wallet account, false otherwise.
94
- * @not-instrumented
94
+ * @notInstrumented
95
95
  */
96
96
  const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
97
97
 
@@ -103,7 +103,7 @@ const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
103
103
  * @param params.transactionHash - The transaction digest to wait for.
104
104
  * @param params.walletAccount - The wallet account that submitted the transaction.
105
105
  * @param client - The Dynamic client instance.
106
- * @not-instrumented
106
+ * @notInstrumented
107
107
  */
108
108
  const suiConfirmTransaction = async ({ transactionHash, walletAccount }, client) => {
109
109
  if (!isSuiWalletAccount(walletAccount)) throw new InvalidParamError("Wallet account is not a SUI wallet account");
@@ -126,7 +126,7 @@ const suiConfirmTransaction = async ({ transactionHash, walletAccount }, client)
126
126
  * @param params.onStepChange - Optional callback invoked with `'transaction'` when the execution step begins.
127
127
  * @param client - The Dynamic client instance.
128
128
  * @returns The transaction hash (digest).
129
- * @not-instrumented
129
+ * @notInstrumented
130
130
  */
131
131
  const suiExecuteSwapTransaction = async ({ onStepChange, signingPayload, walletAccount }, client) => {
132
132
  const walletProvider = getWalletProviderFromWalletAccount({ walletAccount }, client);
@@ -149,7 +149,7 @@ const suiExecuteSwapTransaction = async ({ onStepChange, signingPayload, walletA
149
149
  * @param params.walletAccount - The wallet account to sign the transaction with
150
150
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
151
151
  * @returns An object containing the signature and transaction bytes
152
- * @not-instrumented
152
+ * @notInstrumented
153
153
  */
154
154
  const signAndExecuteTransaction = async ({ walletAccount, transaction }, client = getDefaultClient$1()) => {
155
155
  const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
@@ -169,7 +169,7 @@ const SUI_DECIMALS = 9;
169
169
  *
170
170
  * For native SUI, converts the human-readable amount string to MIST (9 decimals).
171
171
  * For tokens, fetches the user's coins of that type and splits from them.
172
- * @not-instrumented
172
+ * @notInstrumented
173
173
  */
174
174
  const suiTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
175
175
  if (!isSuiWalletAccount(walletAccount)) throw new InvalidParamError("Wallet account is not a SUI wallet account");
@@ -202,4 +202,4 @@ const suiTransferAmount = async ({ amount, recipient, token, walletAccount }, cl
202
202
 
203
203
  //#endregion
204
204
  export { isSuiWalletAccount as a, NotSuiProviderError as c, version as d, suiConfirmTransaction as i, registerSuiNetworkProviderBuilder as l, signAndExecuteTransaction as n, getSuiClient as o, suiExecuteSwapTransaction as r, isSuiWalletProvider as s, suiTransferAmount as t, name as u };
205
- //# sourceMappingURL=suiTransferAmount-U0bmbruo.esm.js.map
205
+ //# sourceMappingURL=suiTransferAmount-DZBfkeei.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suiTransferAmount-DZBfkeei.esm.js","names":["getDefaultClient"],"sources":["../package.json","../src/utils/fetchSuiBalance/fetchSuiBalance.ts","../src/utils/createSuiNetworkProvider/createSuiNetworkProvider.ts","../src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts","../src/errors/NotSuiProviderError/NotSuiProviderError.ts","../src/isSuiWalletProvider/isSuiWalletProvider.ts","../src/getSuiClient/getSuiClient.ts","../src/isSuiWalletAccount/isSuiWalletAccount.ts","../src/utils/suiConfirmTransaction/suiConfirmTransaction.ts","../src/utils/suiExecuteSwapTransaction/suiExecuteSwapTransaction.ts","../src/signAndExecuteTransaction/signAndExecuteTransaction.ts","../src/utils/suiTransferAmount/suiTransferAmount.ts"],"sourcesContent":["","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { SuiClient } from '@mysten/sui/client';\nimport { MIST_PER_SUI } from '@mysten/sui/utils';\n\n/** @notInstrumented */\nexport const fetchSuiBalance = async ({\n address,\n networkData,\n}: {\n address: string;\n networkData: NetworkData;\n}): Promise<string | null> => {\n // Create a SuiClient using the provided RPC URL.\n const suiClient = new SuiClient({\n url: networkData.rpcUrls.http[0],\n });\n\n const balanceInMist = await suiClient.getBalance({\n owner: address,\n });\n\n // Balance comes back as MIST, 1 SUI = 1e9 MIST\n const balance = Number(balanceInMist.totalBalance) / Number(MIST_PER_SUI);\n\n if (Number.isNaN(balance)) {\n return null;\n }\n\n return balance.toString();\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { SuiNetworkProvider } from '../../SuiNetworkProvider.types';\nimport { fetchSuiBalance } from '../fetchSuiBalance';\n\n/** @notInstrumented */\nexport const createSuiNetworkProvider = (\n networkData: NetworkData\n): SuiNetworkProvider => ({\n ...createBaseNetworkProvider('SUI', networkData),\n getBalance: async ({ address }) => ({\n balance: await fetchSuiBalance({\n address,\n networkData,\n }),\n }),\n});\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getNetworkProviderBuilderRegistry } from '@dynamic-labs-sdk/client/core';\n\nimport { createSuiNetworkProvider } from '../utils/createSuiNetworkProvider';\n\n/** @notInstrumented */\nexport const registerSuiNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n /**\n * If the Sui network provider builder is already registered, return.\n */\n if (networkProviderBuilderRegistry.get().get('SUI')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createSuiNetworkProvider,\n chain: 'SUI',\n });\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotSuiProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_sui_provider_error',\n docsUrl: null,\n name: 'NotSuiProviderError',\n shortMessage: 'Provider is not a Sui wallet provider',\n });\n\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { SuiWalletProvider } from '../SuiWalletProvider.types';\n\n/** @notInstrumented */\nexport const isSuiWalletProvider = (\n provider: WalletProvider\n): provider is SuiWalletProvider => {\n return provider.chain === 'SUI';\n};\n","import {\n getDefaultClient,\n getWalletProviderFromWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nimport { isSuiWalletProvider } from '../isSuiWalletProvider';\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\n\ntype GetSuiClientParams = {\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Retrieves a SuiClient from a wallet account.\n *\n * @param params.walletAccount - The wallet account to get the SuiClient for.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to a SuiClient instance\n * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider\n * @notInstrumented\n */\nexport const getSuiClient = async (\n { walletAccount }: GetSuiClientParams,\n client = getDefaultClient()\n) => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isSuiWalletProvider(provider)) {\n throw new NotSuiProviderError({ providerKey: provider.key });\n }\n\n return provider.getSuiClient({ walletAccount });\n};\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\n\n/**\n * Type guard function to check if a wallet account is a Sui wallet account.\n *\n * @param walletAccount - The wallet account to check.\n * @returns True if the wallet account is a Sui wallet account, false otherwise.\n * @notInstrumented\n */\nexport const isSuiWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is SuiWalletAccount => walletAccount.chain === 'SUI';\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport type { ConfirmTransactionParams } from '@dynamic-labs-sdk/client/core';\n\nimport { getSuiClient } from '../../getSuiClient';\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\n\n/**\n * Waits for a SUI transaction to be confirmed on-chain.\n *\n * @param params.transactionHash - The transaction digest to wait for.\n * @param params.walletAccount - The wallet account that submitted the transaction.\n * @param client - The Dynamic client instance.\n * @notInstrumented\n */\nexport const suiConfirmTransaction = async (\n { transactionHash, walletAccount }: ConfirmTransactionParams,\n client: DynamicClient\n): Promise<void> => {\n if (!isSuiWalletAccount(walletAccount)) {\n throw new InvalidParamError('Wallet account is not a SUI wallet account');\n }\n\n const suiClient = await getSuiClient({ walletAccount }, client);\n\n await suiClient.waitForTransaction({ digest: transactionHash });\n};\n","import {\n type DynamicClient,\n InvalidParamError,\n} from '@dynamic-labs-sdk/client';\nimport type {\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n} from '@dynamic-labs-sdk/client/core';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\nimport { isSuiWalletProvider } from '../../isSuiWalletProvider';\n\n/**\n * Executes a Sui checkout transaction by deserializing the base64-encoded\n * BCS transaction and sending it via the wallet provider's signAndExecuteTransaction.\n *\n * 1. Validates that the wallet account is a Sui wallet account\n * 2. Extracts and validates the serialized transaction from the signing payload\n * 3. Deserializes the transaction using Transaction.from()\n * 4. Signs and executes via the Sui wallet provider\n *\n * @param params.signingPayload - The signing payload containing `serializedTransaction`.\n * @param params.walletAccount - The wallet account used to sign and execute the transaction.\n * @param params.onStepChange - Optional callback invoked with `'transaction'` when the execution step begins.\n * @param client - The Dynamic client instance.\n * @returns The transaction hash (digest).\n * @notInstrumented\n */\nexport const suiExecuteSwapTransaction = async (\n { onStepChange, signingPayload, walletAccount }: ExecuteSwapTransactionParams,\n client: DynamicClient\n): Promise<ExecuteSwapTransactionResult> => {\n const walletProvider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (\n !isSuiWalletAccount(walletAccount) ||\n !isSuiWalletProvider(walletProvider)\n ) {\n throw new InvalidParamError('Wallet account is not a Sui wallet account');\n }\n\n const serializedTransactionData = signingPayload.serializedTransaction;\n\n if (!serializedTransactionData) {\n throw new InvalidParamError(\n 'Signing payload is missing serialized transaction data'\n );\n }\n\n const transaction = Transaction.from(serializedTransactionData);\n\n onStepChange?.('transaction');\n\n const result = await walletProvider.signAndExecuteTransaction({\n transaction,\n walletAccount,\n });\n\n return { transactionHash: result.digest };\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\nimport type { Transaction } from '@mysten/sui/transactions';\n\nimport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nimport { isSuiWalletProvider } from '../isSuiWalletProvider';\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\nimport type { SuiSignAndExecuteTransactionResult } from '../SuiWalletProvider.types';\n\ntype SignAndExecuteTransactionParams = {\n transaction: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Signs and executes a Sui transaction\n * @param params.transaction - The transaction to sign and execute\n * @param params.walletAccount - The wallet account to sign the transaction with\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the signature and transaction bytes\n * @notInstrumented\n */\nexport const signAndExecuteTransaction = async (\n { walletAccount, transaction }: SignAndExecuteTransactionParams,\n client = getDefaultClient()\n): Promise<SuiSignAndExecuteTransactionResult> => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isSuiWalletProvider(provider)) {\n throw new NotSuiProviderError({ providerKey: provider.key });\n }\n\n transaction.setSender(walletAccount.address);\n\n return provider.signAndExecuteTransaction({ transaction, walletAccount });\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport {\n type TransferAmountParams,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport { getSuiClient } from '../../getSuiClient';\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\nimport { signAndExecuteTransaction } from '../../signAndExecuteTransaction';\n\nconst SUI_DECIMALS = 9;\n\n/**\n * Transfers native SUI or a SUI token from one wallet to another.\n *\n * For native SUI, converts the human-readable amount string to MIST (9 decimals).\n * For tokens, fetches the user's coins of that type and splits from them.\n * @notInstrumented\n */\nexport const suiTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n if (!isSuiWalletAccount(walletAccount)) {\n throw new InvalidParamError('Wallet account is not a SUI wallet account');\n }\n\n const transaction = new Transaction();\n\n if (token?.address) {\n const suiClient = await getSuiClient({ walletAccount }, client);\n\n const { data: coins } = await suiClient.getCoins({\n coinType: token.address,\n owner: walletAccount.address,\n });\n\n if (coins.length === 0) {\n throw new InvalidParamError('Token not found');\n }\n\n const smallestUnit = parseAmountToSmallestUnit({\n amount,\n decimals: token.decimals,\n });\n\n const [coin] = transaction.splitCoins(coins[0].coinObjectId, [\n smallestUnit,\n ]);\n transaction.transferObjects([coin], recipient);\n } else {\n const mist = parseAmountToSmallestUnit({\n amount,\n decimals: SUI_DECIMALS,\n });\n\n const [coin] = transaction.splitCoins(transaction.gas, [mist]);\n transaction.transferObjects([coin], recipient);\n }\n\n const result = await signAndExecuteTransaction(\n { transaction, walletAccount },\n client\n );\n\n return { transactionHash: result.digest };\n};\n"],"mappings":"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"}
@@ -6,11 +6,11 @@ let _mysten_sui_transactions = require("@mysten/sui/transactions");
6
6
 
7
7
  //#region package.json
8
8
  var name = "@dynamic-labs-sdk/sui";
9
- var version = "1.12.2";
9
+ var version = "1.14.0";
10
10
 
11
11
  //#endregion
12
12
  //#region src/utils/fetchSuiBalance/fetchSuiBalance.ts
13
- /** @not-instrumented */
13
+ /** @notInstrumented */
14
14
  const fetchSuiBalance = async ({ address, networkData }) => {
15
15
  const balanceInMist = await new _mysten_sui_client.SuiClient({ url: networkData.rpcUrls.http[0] }).getBalance({ owner: address });
16
16
  const balance = Number(balanceInMist.totalBalance) / Number(_mysten_sui_utils.MIST_PER_SUI);
@@ -20,7 +20,7 @@ const fetchSuiBalance = async ({ address, networkData }) => {
20
20
 
21
21
  //#endregion
22
22
  //#region src/utils/createSuiNetworkProvider/createSuiNetworkProvider.ts
23
- /** @not-instrumented */
23
+ /** @notInstrumented */
24
24
  const createSuiNetworkProvider = (networkData) => ({
25
25
  ...(0, _dynamic_labs_sdk_client_core.createBaseNetworkProvider)("SUI", networkData),
26
26
  getBalance: async ({ address }) => ({ balance: await fetchSuiBalance({
@@ -31,7 +31,7 @@ const createSuiNetworkProvider = (networkData) => ({
31
31
 
32
32
  //#endregion
33
33
  //#region src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts
34
- /** @not-instrumented */
34
+ /** @notInstrumented */
35
35
  const registerSuiNetworkProviderBuilder = (client) => {
36
36
  const networkProviderBuilderRegistry = (0, _dynamic_labs_sdk_client_core.getNetworkProviderBuilderRegistry)(client);
37
37
  /**
@@ -62,7 +62,7 @@ var NotSuiProviderError = class extends _dynamic_labs_sdk_client.BaseError {
62
62
 
63
63
  //#endregion
64
64
  //#region src/isSuiWalletProvider/isSuiWalletProvider.ts
65
- /** @not-instrumented */
65
+ /** @notInstrumented */
66
66
  const isSuiWalletProvider = (provider) => {
67
67
  return provider.chain === "SUI";
68
68
  };
@@ -76,7 +76,7 @@ const isSuiWalletProvider = (provider) => {
76
76
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
77
77
  * @returns A promise that resolves to a SuiClient instance
78
78
  * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider
79
- * @not-instrumented
79
+ * @notInstrumented
80
80
  */
81
81
  const getSuiClient = async ({ walletAccount }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
82
82
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
@@ -91,7 +91,7 @@ const getSuiClient = async ({ walletAccount }, client = (0, _dynamic_labs_sdk_cl
91
91
  *
92
92
  * @param walletAccount - The wallet account to check.
93
93
  * @returns True if the wallet account is a Sui wallet account, false otherwise.
94
- * @not-instrumented
94
+ * @notInstrumented
95
95
  */
96
96
  const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
97
97
 
@@ -103,7 +103,7 @@ const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
103
103
  * @param params.transactionHash - The transaction digest to wait for.
104
104
  * @param params.walletAccount - The wallet account that submitted the transaction.
105
105
  * @param client - The Dynamic client instance.
106
- * @not-instrumented
106
+ * @notInstrumented
107
107
  */
108
108
  const suiConfirmTransaction = async ({ transactionHash, walletAccount }, client) => {
109
109
  if (!isSuiWalletAccount(walletAccount)) throw new _dynamic_labs_sdk_client.InvalidParamError("Wallet account is not a SUI wallet account");
@@ -126,7 +126,7 @@ const suiConfirmTransaction = async ({ transactionHash, walletAccount }, client)
126
126
  * @param params.onStepChange - Optional callback invoked with `'transaction'` when the execution step begins.
127
127
  * @param client - The Dynamic client instance.
128
128
  * @returns The transaction hash (digest).
129
- * @not-instrumented
129
+ * @notInstrumented
130
130
  */
131
131
  const suiExecuteSwapTransaction = async ({ onStepChange, signingPayload, walletAccount }, client) => {
132
132
  const walletProvider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
@@ -149,7 +149,7 @@ const suiExecuteSwapTransaction = async ({ onStepChange, signingPayload, walletA
149
149
  * @param params.walletAccount - The wallet account to sign the transaction with
150
150
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
151
151
  * @returns An object containing the signature and transaction bytes
152
- * @not-instrumented
152
+ * @notInstrumented
153
153
  */
154
154
  const signAndExecuteTransaction = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
155
155
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
@@ -169,7 +169,7 @@ const SUI_DECIMALS = 9;
169
169
  *
170
170
  * For native SUI, converts the human-readable amount string to MIST (9 decimals).
171
171
  * For tokens, fetches the user's coins of that type and splits from them.
172
- * @not-instrumented
172
+ * @notInstrumented
173
173
  */
174
174
  const suiTransferAmount = async ({ amount, recipient, token, walletAccount }, client) => {
175
175
  if (!isSuiWalletAccount(walletAccount)) throw new _dynamic_labs_sdk_client.InvalidParamError("Wallet account is not a SUI wallet account");
@@ -267,4 +267,4 @@ Object.defineProperty(exports, 'version', {
267
267
  return version;
268
268
  }
269
269
  });
270
- //# sourceMappingURL=suiTransferAmount-BB39PARg.cjs.map
270
+ //# sourceMappingURL=suiTransferAmount-HjcEglKT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suiTransferAmount-HjcEglKT.cjs","names":["SuiClient","MIST_PER_SUI","BaseError","InvalidParamError","InvalidParamError","Transaction","InvalidParamError","Transaction"],"sources":["../package.json","../src/utils/fetchSuiBalance/fetchSuiBalance.ts","../src/utils/createSuiNetworkProvider/createSuiNetworkProvider.ts","../src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.ts","../src/errors/NotSuiProviderError/NotSuiProviderError.ts","../src/isSuiWalletProvider/isSuiWalletProvider.ts","../src/getSuiClient/getSuiClient.ts","../src/isSuiWalletAccount/isSuiWalletAccount.ts","../src/utils/suiConfirmTransaction/suiConfirmTransaction.ts","../src/utils/suiExecuteSwapTransaction/suiExecuteSwapTransaction.ts","../src/signAndExecuteTransaction/signAndExecuteTransaction.ts","../src/utils/suiTransferAmount/suiTransferAmount.ts"],"sourcesContent":["","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { SuiClient } from '@mysten/sui/client';\nimport { MIST_PER_SUI } from '@mysten/sui/utils';\n\n/** @notInstrumented */\nexport const fetchSuiBalance = async ({\n address,\n networkData,\n}: {\n address: string;\n networkData: NetworkData;\n}): Promise<string | null> => {\n // Create a SuiClient using the provided RPC URL.\n const suiClient = new SuiClient({\n url: networkData.rpcUrls.http[0],\n });\n\n const balanceInMist = await suiClient.getBalance({\n owner: address,\n });\n\n // Balance comes back as MIST, 1 SUI = 1e9 MIST\n const balance = Number(balanceInMist.totalBalance) / Number(MIST_PER_SUI);\n\n if (Number.isNaN(balance)) {\n return null;\n }\n\n return balance.toString();\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { SuiNetworkProvider } from '../../SuiNetworkProvider.types';\nimport { fetchSuiBalance } from '../fetchSuiBalance';\n\n/** @notInstrumented */\nexport const createSuiNetworkProvider = (\n networkData: NetworkData\n): SuiNetworkProvider => ({\n ...createBaseNetworkProvider('SUI', networkData),\n getBalance: async ({ address }) => ({\n balance: await fetchSuiBalance({\n address,\n networkData,\n }),\n }),\n});\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getNetworkProviderBuilderRegistry } from '@dynamic-labs-sdk/client/core';\n\nimport { createSuiNetworkProvider } from '../utils/createSuiNetworkProvider';\n\n/** @notInstrumented */\nexport const registerSuiNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n /**\n * If the Sui network provider builder is already registered, return.\n */\n if (networkProviderBuilderRegistry.get().get('SUI')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createSuiNetworkProvider,\n chain: 'SUI',\n });\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotSuiProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_sui_provider_error',\n docsUrl: null,\n name: 'NotSuiProviderError',\n shortMessage: 'Provider is not a Sui wallet provider',\n });\n\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { SuiWalletProvider } from '../SuiWalletProvider.types';\n\n/** @notInstrumented */\nexport const isSuiWalletProvider = (\n provider: WalletProvider\n): provider is SuiWalletProvider => {\n return provider.chain === 'SUI';\n};\n","import {\n getDefaultClient,\n getWalletProviderFromWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nimport { isSuiWalletProvider } from '../isSuiWalletProvider';\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\n\ntype GetSuiClientParams = {\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Retrieves a SuiClient from a wallet account.\n *\n * @param params.walletAccount - The wallet account to get the SuiClient for.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to a SuiClient instance\n * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider\n * @notInstrumented\n */\nexport const getSuiClient = async (\n { walletAccount }: GetSuiClientParams,\n client = getDefaultClient()\n) => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isSuiWalletProvider(provider)) {\n throw new NotSuiProviderError({ providerKey: provider.key });\n }\n\n return provider.getSuiClient({ walletAccount });\n};\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\n\n/**\n * Type guard function to check if a wallet account is a Sui wallet account.\n *\n * @param walletAccount - The wallet account to check.\n * @returns True if the wallet account is a Sui wallet account, false otherwise.\n * @notInstrumented\n */\nexport const isSuiWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is SuiWalletAccount => walletAccount.chain === 'SUI';\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport type { ConfirmTransactionParams } from '@dynamic-labs-sdk/client/core';\n\nimport { getSuiClient } from '../../getSuiClient';\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\n\n/**\n * Waits for a SUI transaction to be confirmed on-chain.\n *\n * @param params.transactionHash - The transaction digest to wait for.\n * @param params.walletAccount - The wallet account that submitted the transaction.\n * @param client - The Dynamic client instance.\n * @notInstrumented\n */\nexport const suiConfirmTransaction = async (\n { transactionHash, walletAccount }: ConfirmTransactionParams,\n client: DynamicClient\n): Promise<void> => {\n if (!isSuiWalletAccount(walletAccount)) {\n throw new InvalidParamError('Wallet account is not a SUI wallet account');\n }\n\n const suiClient = await getSuiClient({ walletAccount }, client);\n\n await suiClient.waitForTransaction({ digest: transactionHash });\n};\n","import {\n type DynamicClient,\n InvalidParamError,\n} from '@dynamic-labs-sdk/client';\nimport type {\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n} from '@dynamic-labs-sdk/client/core';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\nimport { isSuiWalletProvider } from '../../isSuiWalletProvider';\n\n/**\n * Executes a Sui checkout transaction by deserializing the base64-encoded\n * BCS transaction and sending it via the wallet provider's signAndExecuteTransaction.\n *\n * 1. Validates that the wallet account is a Sui wallet account\n * 2. Extracts and validates the serialized transaction from the signing payload\n * 3. Deserializes the transaction using Transaction.from()\n * 4. Signs and executes via the Sui wallet provider\n *\n * @param params.signingPayload - The signing payload containing `serializedTransaction`.\n * @param params.walletAccount - The wallet account used to sign and execute the transaction.\n * @param params.onStepChange - Optional callback invoked with `'transaction'` when the execution step begins.\n * @param client - The Dynamic client instance.\n * @returns The transaction hash (digest).\n * @notInstrumented\n */\nexport const suiExecuteSwapTransaction = async (\n { onStepChange, signingPayload, walletAccount }: ExecuteSwapTransactionParams,\n client: DynamicClient\n): Promise<ExecuteSwapTransactionResult> => {\n const walletProvider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (\n !isSuiWalletAccount(walletAccount) ||\n !isSuiWalletProvider(walletProvider)\n ) {\n throw new InvalidParamError('Wallet account is not a Sui wallet account');\n }\n\n const serializedTransactionData = signingPayload.serializedTransaction;\n\n if (!serializedTransactionData) {\n throw new InvalidParamError(\n 'Signing payload is missing serialized transaction data'\n );\n }\n\n const transaction = Transaction.from(serializedTransactionData);\n\n onStepChange?.('transaction');\n\n const result = await walletProvider.signAndExecuteTransaction({\n transaction,\n walletAccount,\n });\n\n return { transactionHash: result.digest };\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\nimport type { Transaction } from '@mysten/sui/transactions';\n\nimport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nimport { isSuiWalletProvider } from '../isSuiWalletProvider';\nimport type { SuiWalletAccount } from '../SuiWalletAccount.types';\nimport type { SuiSignAndExecuteTransactionResult } from '../SuiWalletProvider.types';\n\ntype SignAndExecuteTransactionParams = {\n transaction: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Signs and executes a Sui transaction\n * @param params.transaction - The transaction to sign and execute\n * @param params.walletAccount - The wallet account to sign the transaction with\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing the signature and transaction bytes\n * @notInstrumented\n */\nexport const signAndExecuteTransaction = async (\n { walletAccount, transaction }: SignAndExecuteTransactionParams,\n client = getDefaultClient()\n): Promise<SuiSignAndExecuteTransactionResult> => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isSuiWalletProvider(provider)) {\n throw new NotSuiProviderError({ providerKey: provider.key });\n }\n\n transaction.setSender(walletAccount.address);\n\n return provider.signAndExecuteTransaction({ transaction, walletAccount });\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport {\n type TransferAmountParams,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\nimport { Transaction } from '@mysten/sui/transactions';\n\nimport { getSuiClient } from '../../getSuiClient';\nimport { isSuiWalletAccount } from '../../isSuiWalletAccount';\nimport { signAndExecuteTransaction } from '../../signAndExecuteTransaction';\n\nconst SUI_DECIMALS = 9;\n\n/**\n * Transfers native SUI or a SUI token from one wallet to another.\n *\n * For native SUI, converts the human-readable amount string to MIST (9 decimals).\n * For tokens, fetches the user's coins of that type and splits from them.\n * @notInstrumented\n */\nexport const suiTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n if (!isSuiWalletAccount(walletAccount)) {\n throw new InvalidParamError('Wallet account is not a SUI wallet account');\n }\n\n const transaction = new Transaction();\n\n if (token?.address) {\n const suiClient = await getSuiClient({ walletAccount }, client);\n\n const { data: coins } = await suiClient.getCoins({\n coinType: token.address,\n owner: walletAccount.address,\n });\n\n if (coins.length === 0) {\n throw new InvalidParamError('Token not found');\n }\n\n const smallestUnit = parseAmountToSmallestUnit({\n amount,\n decimals: token.decimals,\n });\n\n const [coin] = transaction.splitCoins(coins[0].coinObjectId, [\n smallestUnit,\n ]);\n transaction.transferObjects([coin], recipient);\n } else {\n const mist = parseAmountToSmallestUnit({\n amount,\n decimals: SUI_DECIMALS,\n });\n\n const [coin] = transaction.splitCoins(transaction.gas, [mist]);\n transaction.transferObjects([coin], recipient);\n }\n\n const result = await signAndExecuteTransaction(\n { transaction, walletAccount },\n client\n );\n\n return { transactionHash: result.digest };\n};\n"],"mappings":"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"}