@dynamic-labs-sdk/sui 0.14.0 → 0.16.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 (44) hide show
  1. package/dist/{addSuiWalletStandardExtension-ZDoIysQf.esm.js → addSuiWalletStandardExtension-BR31_Kda.esm.js} +4 -2
  2. package/dist/addSuiWalletStandardExtension-BR31_Kda.esm.js.map +1 -0
  3. package/dist/{addSuiWalletStandardExtension-Cv7bEwTp.cjs.js → addSuiWalletStandardExtension-DbOm408I.cjs.js} +5 -3
  4. package/dist/addSuiWalletStandardExtension-DbOm408I.cjs.js.map +1 -0
  5. package/dist/{addWaasSuiExtension-BSgmwZos.esm.js → addWaasSuiExtension-C2JMpaJ9.esm.js} +4 -2
  6. package/dist/addWaasSuiExtension-C2JMpaJ9.esm.js.map +1 -0
  7. package/dist/{addWaasSuiExtension-ist4SCEt.cjs.js → addWaasSuiExtension-CpJzJg43.cjs.js} +5 -3
  8. package/dist/addWaasSuiExtension-CpJzJg43.cjs.js.map +1 -0
  9. package/dist/checkoutTransaction.types.d.ts +6 -0
  10. package/dist/checkoutTransaction.types.d.ts.map +1 -0
  11. package/dist/index.cjs.js +11 -78
  12. package/dist/index.cjs.js.map +1 -1
  13. package/dist/index.esm.js +4 -71
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/suiTransferAmount-B8h2ZTJQ.esm.js +182 -0
  16. package/dist/suiTransferAmount-B8h2ZTJQ.esm.js.map +1 -0
  17. package/dist/suiTransferAmount-CBJCfAnc.cjs.js +241 -0
  18. package/dist/suiTransferAmount-CBJCfAnc.cjs.js.map +1 -0
  19. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  20. package/dist/utils/suiExecuteCheckoutTransaction/index.d.ts +2 -0
  21. package/dist/utils/suiExecuteCheckoutTransaction/index.d.ts.map +1 -0
  22. package/dist/utils/suiExecuteCheckoutTransaction/suiExecuteCheckoutTransaction.d.ts +19 -0
  23. package/dist/utils/suiExecuteCheckoutTransaction/suiExecuteCheckoutTransaction.d.ts.map +1 -0
  24. package/dist/utils/suiTransferAmount/index.d.ts +2 -0
  25. package/dist/utils/suiTransferAmount/index.d.ts.map +1 -0
  26. package/dist/utils/suiTransferAmount/suiTransferAmount.d.ts +12 -0
  27. package/dist/utils/suiTransferAmount/suiTransferAmount.d.ts.map +1 -0
  28. package/dist/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -1
  29. package/dist/waas.cjs.js +3 -3
  30. package/dist/waas.cjs.js.map +1 -1
  31. package/dist/waas.esm.js +2 -2
  32. package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -1
  33. package/dist/walletStandard.cjs.js +3 -3
  34. package/dist/walletStandard.cjs.js.map +1 -1
  35. package/dist/walletStandard.esm.js +2 -2
  36. package/package.json +4 -4
  37. package/dist/addSuiWalletStandardExtension-Cv7bEwTp.cjs.js.map +0 -1
  38. package/dist/addSuiWalletStandardExtension-ZDoIysQf.esm.js.map +0 -1
  39. package/dist/addWaasSuiExtension-BSgmwZos.esm.js.map +0 -1
  40. package/dist/addWaasSuiExtension-ist4SCEt.cjs.js.map +0 -1
  41. package/dist/registerSuiNetworkProviderBuilder-BrZT9Z_o.cjs.js +0 -61
  42. package/dist/registerSuiNetworkProviderBuilder-BrZT9Z_o.cjs.js.map +0 -1
  43. package/dist/registerSuiNetworkProviderBuilder-Byjt5yK6.esm.js +0 -44
  44. package/dist/registerSuiNetworkProviderBuilder-Byjt5yK6.esm.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { t as registerSuiNetworkProviderBuilder } from "./registerSuiNetworkProviderBuilder-Byjt5yK6.esm.js";
1
+ import { a as suiExecuteCheckoutTransaction, c as registerSuiNetworkProviderBuilder, t as suiTransferAmount } from "./suiTransferAmount-B8h2ZTJQ.esm.js";
2
2
  import { WalletProviderPriority, assertDefined, createWalletProviderEventEmitter, formatWalletProviderGroupKey, formatWalletProviderKey, getActiveNetworkIdFromLastKnownRegistry, getDefaultClient, getWalletProviderRegistry, hasExtension, registerExtension, switchActiveNetworkInLastKnownRegistry } from "@dynamic-labs-sdk/client/core";
3
3
  import { SuiClient } from "@mysten/sui/client";
4
4
  import { assertWalletAccountSigningAvailability, getActiveNetworkData } from "@dynamic-labs-sdk/client";
@@ -140,6 +140,7 @@ const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStanda
140
140
  get events() {
141
141
  return getEventEmitter();
142
142
  },
143
+ executeCheckoutTransaction: (args) => suiExecuteCheckoutTransaction(args, dynamicClient),
143
144
  getActiveNetworkId,
144
145
  getConnectedAddresses,
145
146
  getSuiClient,
@@ -156,6 +157,7 @@ const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStanda
156
157
  signTransactionBlock,
157
158
  switchActiveNetwork,
158
159
  terminate,
160
+ transferAmount: (args) => suiTransferAmount(args, dynamicClient),
159
161
  walletProviderType
160
162
  };
161
163
  };
@@ -194,4 +196,4 @@ const addSuiWalletStandardExtension = (client = getDefaultClient()) => {
194
196
 
195
197
  //#endregion
196
198
  export { addSuiWalletStandardExtension as t };
197
- //# sourceMappingURL=addSuiWalletStandardExtension-ZDoIysQf.esm.js.map
199
+ //# sourceMappingURL=addSuiWalletStandardExtension-BR31_Kda.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSuiWalletStandardExtension-BR31_Kda.esm.js","names":["connect: SuiWalletProvider['connect']","getActiveNetworkId: SuiWalletProvider['getActiveNetworkId']","getSuiClient: SuiWalletProvider['getSuiClient']","getConnectedAddresses: SuiWalletProvider['getConnectedAddresses']","signAndExecuteTransaction: SuiWalletProvider['signAndExecuteTransaction']","signAndExecuteTransactionBlock: SuiWalletProvider['signAndExecuteTransactionBlock']","signMessage: SuiWalletProvider['signMessage']","signTransaction: SuiWalletProvider['signTransaction']","signTransactionBlock: SuiWalletProvider['signTransactionBlock']","switchActiveNetwork: SuiWalletProvider['switchActiveNetwork']","terminate: SuiWalletProvider['terminate']"],"sources":["../src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.ts","../src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.ts"],"sourcesContent":["import {\n type DynamicClient,\n assertWalletAccountSigningAvailability,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n createWalletProviderEventEmitter,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n switchActiveNetworkInLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { SuiClient } from '@mysten/sui/client';\nimport type {\n StandardEventsChangeProperties,\n SuiWalletFeatures,\n WalletWithFeatures,\n} from '@mysten/wallet-standard';\n\nimport type { SuiWalletProvider } from '../../../SuiWalletProvider.types';\nimport { suiExecuteCheckoutTransaction } from '../../../utils/suiExecuteCheckoutTransaction';\nimport { suiTransferAmount } from '../../../utils/suiTransferAmount';\n\ntype CreateWalletProviderFromSuiStandardWalletParams = {\n dynamicClient: DynamicClient;\n walletStandardWallet: WalletWithFeatures<SuiWalletFeatures>;\n};\n\nexport const createWalletProviderFromSuiStandardWallet = ({\n dynamicClient,\n walletStandardWallet,\n}: CreateWalletProviderFromSuiStandardWalletParams): SuiWalletProvider => {\n const features = walletStandardWallet.features;\n\n const walletProviderType = WalletProviderEnum.BrowserExtension;\n\n const key = formatWalletProviderKey({\n chain: 'SUI',\n displayName: walletStandardWallet.name,\n walletProviderType,\n });\n\n const runConnectFeature = async ({\n silent = false,\n }: {\n silent?: boolean;\n } = {}) => {\n const connectMethod = features['standard:connect']?.connect;\n\n assertDefined(connectMethod, 'connect method not found in wallet features');\n\n const result = await connectMethod({ silent });\n\n return {\n addresses: result.accounts?.map((account) => ({\n address: account.address,\n publicKey: account.publicKey?.toString(),\n })),\n };\n };\n\n const connect: SuiWalletProvider['connect'] = async () => {\n const autoConnectedAccounts = walletStandardWallet.accounts;\n\n if (autoConnectedAccounts?.length && autoConnectedAccounts[0].address) {\n return {\n addresses: [\n {\n address: autoConnectedAccounts[0].address,\n publicKey: autoConnectedAccounts[0].publicKey?.toString(),\n },\n ],\n };\n }\n\n return runConnectFeature();\n };\n\n const disconnectFeature = features['standard:disconnect']?.disconnect;\n\n const getActiveNetworkId: SuiWalletProvider['getActiveNetworkId'] =\n async () =>\n getActiveNetworkIdFromLastKnownRegistry({\n client: dynamicClient,\n walletProviderKey: key,\n });\n\n const getCurrentAccount = async () => {\n if (!isConnected()) {\n await runConnectFeature({ silent: true });\n }\n\n const account = walletStandardWallet.accounts?.[0];\n\n assertDefined(account, 'No connected accounts found');\n\n return account;\n };\n\n const getSuiClient: SuiWalletProvider['getSuiClient'] = async ({\n walletAccount,\n }) => {\n const activeNetworkData = await getActiveNetworkData(\n { walletAccount },\n dynamicClient\n );\n assertDefined(activeNetworkData, 'No active network data found');\n\n const url = activeNetworkData.networkData?.rpcUrls.http[0];\n assertDefined(url, 'No RPC URL found for active network');\n\n const client = new SuiClient({ url });\n return client;\n };\n\n const isConnected = (): boolean => {\n return walletStandardWallet.accounts?.length > 0;\n };\n\n const getConnectedAddresses: SuiWalletProvider['getConnectedAddresses'] =\n async () => {\n if (!isConnected()) {\n await runConnectFeature({ silent: true });\n }\n\n return {\n addresses: walletStandardWallet.accounts.map(\n (account) => account.address\n ),\n };\n };\n\n const signAndExecuteTransaction: SuiWalletProvider['signAndExecuteTransaction'] =\n async ({ transaction, walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const signAndExecuteTransactionMethod =\n features['sui:signAndExecuteTransaction']?.signAndExecuteTransaction;\n\n assertDefined(\n signAndExecuteTransactionMethod,\n 'signAndExecuteTransaction method not found in wallet features'\n );\n\n const account = await getCurrentAccount();\n\n return signAndExecuteTransactionMethod({\n account,\n chain: account.chains[0],\n transaction,\n });\n };\n\n /* This method is deprecated, but still required by some wallets for backwards compatibility. */\n const signAndExecuteTransactionBlock: SuiWalletProvider['signAndExecuteTransactionBlock'] =\n async ({ options, requestType, transactionBlock, walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const signAndExecuteTransactionBlockMethod =\n features['sui:signAndExecuteTransactionBlock']\n ?.signAndExecuteTransactionBlock;\n\n assertDefined(\n signAndExecuteTransactionBlockMethod,\n 'signAndExecuteTransactionBlock method not found in wallet features'\n );\n\n const account = await getCurrentAccount();\n\n return signAndExecuteTransactionBlockMethod({\n account,\n chain: account.chains[0],\n options,\n requestType,\n transactionBlock,\n });\n };\n\n const signMessage: SuiWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n const signMessageMethod =\n features['sui:signPersonalMessage']?.signPersonalMessage;\n\n assertDefined(\n signMessageMethod,\n 'signPersonalMessage method not found in wallet features'\n );\n\n assertDefined(walletAccount, 'Wallet account not found');\n\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const encodedMessage = new TextEncoder().encode(message);\n\n const account = await getCurrentAccount();\n\n const { signature } = await signMessageMethod({\n account,\n message: encodedMessage,\n });\n\n return { signature };\n };\n\n const signTransaction: SuiWalletProvider['signTransaction'] = async ({\n transaction,\n walletAccount,\n }) => {\n const signTransactionMethod =\n features['sui:signTransaction']?.signTransaction;\n\n assertDefined(\n signTransactionMethod,\n 'signTransaction method not found in wallet features'\n );\n\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const account = await getCurrentAccount();\n\n return signTransactionMethod({\n account,\n chain: account.chains[0],\n transaction,\n });\n };\n\n /* This method is deprecated, but still required by some wallets for backwards compatibility. */\n const signTransactionBlock: SuiWalletProvider['signTransactionBlock'] =\n async ({ transactionBlock, walletAccount }) => {\n const signTransactionBlockMethod =\n features['sui:signTransactionBlock']?.signTransactionBlock;\n\n assertDefined(\n signTransactionBlockMethod,\n 'signTransactionBlock method not found in wallet features'\n );\n\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const account = await getCurrentAccount();\n\n return signTransactionBlockMethod({\n account,\n chain: account.chains[0],\n transactionBlock,\n });\n };\n\n const switchActiveNetwork: SuiWalletProvider['switchActiveNetwork'] = async ({\n networkId,\n }) =>\n switchActiveNetworkInLastKnownRegistry({\n client: dynamicClient,\n networkId,\n walletProviderKey: key,\n });\n\n const { getEventEmitter, cleanupEventEmitter } =\n createWalletProviderEventEmitter<VoidFunction>({\n removeEventListeners: ({ setupReturnValue }) => {\n assertDefined(setupReturnValue, 'Setup return value not defined');\n\n setupReturnValue();\n },\n\n setupEventListeners: ({ handleAccountsChanged }) => {\n const eventsFeature = features['standard:events'];\n\n return eventsFeature.on(\n 'change',\n ({ accounts }: StandardEventsChangeProperties) => {\n handleAccountsChanged({\n addresses: accounts?.map((account) => account.address) ?? [],\n });\n }\n );\n },\n\n supportedEvents: ['accountsChanged'],\n });\n\n const terminate: SuiWalletProvider['terminate'] = async () => {\n cleanupEventEmitter();\n };\n\n const walletProvider: SuiWalletProvider = {\n chain: 'SUI',\n connect,\n disconnect: disconnectFeature,\n get events() {\n return getEventEmitter();\n },\n executeCheckoutTransaction: (args) =>\n suiExecuteCheckoutTransaction(args, dynamicClient),\n getActiveNetworkId,\n getConnectedAddresses,\n getSuiClient,\n groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),\n key,\n metadata: {\n displayName: walletStandardWallet.name,\n icon: walletStandardWallet.icon,\n },\n signAndExecuteTransaction,\n signAndExecuteTransactionBlock,\n signMessage,\n signTransaction,\n signTransactionBlock,\n switchActiveNetwork,\n terminate,\n transferAmount: (args) => suiTransferAmount(args, dynamicClient),\n walletProviderType,\n };\n\n return walletProvider;\n};\n","import {\n WalletProviderPriority,\n getDefaultClient,\n getWalletProviderRegistry,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\nimport type {\n SuiWalletFeatures,\n WalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport {\n getWallets,\n isWalletWithRequiredFeatureSet,\n} from '@mysten/wallet-standard';\n\nimport { registerSuiNetworkProviderBuilder } from '../../registerSuiNetworkProviderBuilder';\nimport { createWalletProviderFromSuiStandardWallet } from '../utils/createWalletProviderFromSuiStandardWallet';\n\nexport const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';\n\n/**\n * Adds the Sui Wallet Standard extension to the Dynamic client.\n *\n * This extension enables integration with wallets that implement the Sui Wallet Standard,\n * automatically detecting and registering compatible wallets for use with the Dynamic SDK.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n */\nexport const addSuiWalletStandardExtension = (\n client = getDefaultClient()\n): void => {\n if (\n hasExtension({ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY }, client)\n ) {\n return;\n }\n\n registerExtension(\n { extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY },\n client\n );\n\n registerSuiNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n const walletStandardWallets = getWallets()\n .get()\n .filter((wallet) =>\n isWalletWithRequiredFeatureSet(wallet, [\n 'standard:events',\n 'standard:connect',\n 'sui:signPersonalMessage',\n ])\n ) as WalletWithFeatures<SuiWalletFeatures>[];\n\n walletStandardWallets.forEach((walletStandardWallet) => {\n const walletProvider = createWalletProviderFromSuiStandardWallet({\n dynamicClient: client,\n walletStandardWallet,\n });\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,\n walletProvider,\n });\n });\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder-BrZT9Z_o.cjs.js');
1
+ const require_suiTransferAmount = require('./suiTransferAmount-CBJCfAnc.cjs.js');
2
2
  let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
3
3
  let _mysten_sui_client = require("@mysten/sui/client");
4
4
  let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
@@ -140,6 +140,7 @@ const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStanda
140
140
  get events() {
141
141
  return getEventEmitter();
142
142
  },
143
+ executeCheckoutTransaction: (args) => require_suiTransferAmount.suiExecuteCheckoutTransaction(args, dynamicClient),
143
144
  getActiveNetworkId,
144
145
  getConnectedAddresses,
145
146
  getSuiClient,
@@ -156,6 +157,7 @@ const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStanda
156
157
  signTransactionBlock,
157
158
  switchActiveNetwork,
158
159
  terminate,
160
+ transferAmount: (args) => require_suiTransferAmount.suiTransferAmount(args, dynamicClient),
159
161
  walletProviderType
160
162
  };
161
163
  };
@@ -174,7 +176,7 @@ const SUI_WALLET_STANDARD_EXTENSION_KEY = "suiWalletStandard";
174
176
  const addSuiWalletStandardExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
175
177
  if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY }, client)) return;
176
178
  (0, _dynamic_labs_sdk_client_core.registerExtension)({ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY }, client);
177
- require_registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
179
+ require_suiTransferAmount.registerSuiNetworkProviderBuilder(client);
178
180
  const walletProviderRegistry = (0, _dynamic_labs_sdk_client_core.getWalletProviderRegistry)(client);
179
181
  (0, _mysten_wallet_standard.getWallets)().get().filter((wallet) => (0, _mysten_wallet_standard.isWalletWithRequiredFeatureSet)(wallet, [
180
182
  "standard:events",
@@ -199,4 +201,4 @@ Object.defineProperty(exports, 'addSuiWalletStandardExtension', {
199
201
  return addSuiWalletStandardExtension;
200
202
  }
201
203
  });
202
- //# sourceMappingURL=addSuiWalletStandardExtension-Cv7bEwTp.cjs.js.map
204
+ //# sourceMappingURL=addSuiWalletStandardExtension-DbOm408I.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSuiWalletStandardExtension-DbOm408I.cjs.js","names":["WalletProviderEnum","connect: SuiWalletProvider['connect']","getActiveNetworkId: SuiWalletProvider['getActiveNetworkId']","getSuiClient: SuiWalletProvider['getSuiClient']","SuiClient","getConnectedAddresses: SuiWalletProvider['getConnectedAddresses']","signAndExecuteTransaction: SuiWalletProvider['signAndExecuteTransaction']","signAndExecuteTransactionBlock: SuiWalletProvider['signAndExecuteTransactionBlock']","signMessage: SuiWalletProvider['signMessage']","signTransaction: SuiWalletProvider['signTransaction']","signTransactionBlock: SuiWalletProvider['signTransactionBlock']","switchActiveNetwork: SuiWalletProvider['switchActiveNetwork']","terminate: SuiWalletProvider['terminate']","suiExecuteCheckoutTransaction","suiTransferAmount","WalletProviderPriority"],"sources":["../src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.ts","../src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.ts"],"sourcesContent":["import {\n type DynamicClient,\n assertWalletAccountSigningAvailability,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n createWalletProviderEventEmitter,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n switchActiveNetworkInLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { SuiClient } from '@mysten/sui/client';\nimport type {\n StandardEventsChangeProperties,\n SuiWalletFeatures,\n WalletWithFeatures,\n} from '@mysten/wallet-standard';\n\nimport type { SuiWalletProvider } from '../../../SuiWalletProvider.types';\nimport { suiExecuteCheckoutTransaction } from '../../../utils/suiExecuteCheckoutTransaction';\nimport { suiTransferAmount } from '../../../utils/suiTransferAmount';\n\ntype CreateWalletProviderFromSuiStandardWalletParams = {\n dynamicClient: DynamicClient;\n walletStandardWallet: WalletWithFeatures<SuiWalletFeatures>;\n};\n\nexport const createWalletProviderFromSuiStandardWallet = ({\n dynamicClient,\n walletStandardWallet,\n}: CreateWalletProviderFromSuiStandardWalletParams): SuiWalletProvider => {\n const features = walletStandardWallet.features;\n\n const walletProviderType = WalletProviderEnum.BrowserExtension;\n\n const key = formatWalletProviderKey({\n chain: 'SUI',\n displayName: walletStandardWallet.name,\n walletProviderType,\n });\n\n const runConnectFeature = async ({\n silent = false,\n }: {\n silent?: boolean;\n } = {}) => {\n const connectMethod = features['standard:connect']?.connect;\n\n assertDefined(connectMethod, 'connect method not found in wallet features');\n\n const result = await connectMethod({ silent });\n\n return {\n addresses: result.accounts?.map((account) => ({\n address: account.address,\n publicKey: account.publicKey?.toString(),\n })),\n };\n };\n\n const connect: SuiWalletProvider['connect'] = async () => {\n const autoConnectedAccounts = walletStandardWallet.accounts;\n\n if (autoConnectedAccounts?.length && autoConnectedAccounts[0].address) {\n return {\n addresses: [\n {\n address: autoConnectedAccounts[0].address,\n publicKey: autoConnectedAccounts[0].publicKey?.toString(),\n },\n ],\n };\n }\n\n return runConnectFeature();\n };\n\n const disconnectFeature = features['standard:disconnect']?.disconnect;\n\n const getActiveNetworkId: SuiWalletProvider['getActiveNetworkId'] =\n async () =>\n getActiveNetworkIdFromLastKnownRegistry({\n client: dynamicClient,\n walletProviderKey: key,\n });\n\n const getCurrentAccount = async () => {\n if (!isConnected()) {\n await runConnectFeature({ silent: true });\n }\n\n const account = walletStandardWallet.accounts?.[0];\n\n assertDefined(account, 'No connected accounts found');\n\n return account;\n };\n\n const getSuiClient: SuiWalletProvider['getSuiClient'] = async ({\n walletAccount,\n }) => {\n const activeNetworkData = await getActiveNetworkData(\n { walletAccount },\n dynamicClient\n );\n assertDefined(activeNetworkData, 'No active network data found');\n\n const url = activeNetworkData.networkData?.rpcUrls.http[0];\n assertDefined(url, 'No RPC URL found for active network');\n\n const client = new SuiClient({ url });\n return client;\n };\n\n const isConnected = (): boolean => {\n return walletStandardWallet.accounts?.length > 0;\n };\n\n const getConnectedAddresses: SuiWalletProvider['getConnectedAddresses'] =\n async () => {\n if (!isConnected()) {\n await runConnectFeature({ silent: true });\n }\n\n return {\n addresses: walletStandardWallet.accounts.map(\n (account) => account.address\n ),\n };\n };\n\n const signAndExecuteTransaction: SuiWalletProvider['signAndExecuteTransaction'] =\n async ({ transaction, walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const signAndExecuteTransactionMethod =\n features['sui:signAndExecuteTransaction']?.signAndExecuteTransaction;\n\n assertDefined(\n signAndExecuteTransactionMethod,\n 'signAndExecuteTransaction method not found in wallet features'\n );\n\n const account = await getCurrentAccount();\n\n return signAndExecuteTransactionMethod({\n account,\n chain: account.chains[0],\n transaction,\n });\n };\n\n /* This method is deprecated, but still required by some wallets for backwards compatibility. */\n const signAndExecuteTransactionBlock: SuiWalletProvider['signAndExecuteTransactionBlock'] =\n async ({ options, requestType, transactionBlock, walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const signAndExecuteTransactionBlockMethod =\n features['sui:signAndExecuteTransactionBlock']\n ?.signAndExecuteTransactionBlock;\n\n assertDefined(\n signAndExecuteTransactionBlockMethod,\n 'signAndExecuteTransactionBlock method not found in wallet features'\n );\n\n const account = await getCurrentAccount();\n\n return signAndExecuteTransactionBlockMethod({\n account,\n chain: account.chains[0],\n options,\n requestType,\n transactionBlock,\n });\n };\n\n const signMessage: SuiWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n const signMessageMethod =\n features['sui:signPersonalMessage']?.signPersonalMessage;\n\n assertDefined(\n signMessageMethod,\n 'signPersonalMessage method not found in wallet features'\n );\n\n assertDefined(walletAccount, 'Wallet account not found');\n\n await assertWalletAccountSigningAvailability(\n {\n walletAccount,\n },\n dynamicClient\n );\n\n const encodedMessage = new TextEncoder().encode(message);\n\n const account = await getCurrentAccount();\n\n const { signature } = await signMessageMethod({\n account,\n message: encodedMessage,\n });\n\n return { signature };\n };\n\n const signTransaction: SuiWalletProvider['signTransaction'] = async ({\n transaction,\n walletAccount,\n }) => {\n const signTransactionMethod =\n features['sui:signTransaction']?.signTransaction;\n\n assertDefined(\n signTransactionMethod,\n 'signTransaction method not found in wallet features'\n );\n\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const account = await getCurrentAccount();\n\n return signTransactionMethod({\n account,\n chain: account.chains[0],\n transaction,\n });\n };\n\n /* This method is deprecated, but still required by some wallets for backwards compatibility. */\n const signTransactionBlock: SuiWalletProvider['signTransactionBlock'] =\n async ({ transactionBlock, walletAccount }) => {\n const signTransactionBlockMethod =\n features['sui:signTransactionBlock']?.signTransactionBlock;\n\n assertDefined(\n signTransactionBlockMethod,\n 'signTransactionBlock method not found in wallet features'\n );\n\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const account = await getCurrentAccount();\n\n return signTransactionBlockMethod({\n account,\n chain: account.chains[0],\n transactionBlock,\n });\n };\n\n const switchActiveNetwork: SuiWalletProvider['switchActiveNetwork'] = async ({\n networkId,\n }) =>\n switchActiveNetworkInLastKnownRegistry({\n client: dynamicClient,\n networkId,\n walletProviderKey: key,\n });\n\n const { getEventEmitter, cleanupEventEmitter } =\n createWalletProviderEventEmitter<VoidFunction>({\n removeEventListeners: ({ setupReturnValue }) => {\n assertDefined(setupReturnValue, 'Setup return value not defined');\n\n setupReturnValue();\n },\n\n setupEventListeners: ({ handleAccountsChanged }) => {\n const eventsFeature = features['standard:events'];\n\n return eventsFeature.on(\n 'change',\n ({ accounts }: StandardEventsChangeProperties) => {\n handleAccountsChanged({\n addresses: accounts?.map((account) => account.address) ?? [],\n });\n }\n );\n },\n\n supportedEvents: ['accountsChanged'],\n });\n\n const terminate: SuiWalletProvider['terminate'] = async () => {\n cleanupEventEmitter();\n };\n\n const walletProvider: SuiWalletProvider = {\n chain: 'SUI',\n connect,\n disconnect: disconnectFeature,\n get events() {\n return getEventEmitter();\n },\n executeCheckoutTransaction: (args) =>\n suiExecuteCheckoutTransaction(args, dynamicClient),\n getActiveNetworkId,\n getConnectedAddresses,\n getSuiClient,\n groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),\n key,\n metadata: {\n displayName: walletStandardWallet.name,\n icon: walletStandardWallet.icon,\n },\n signAndExecuteTransaction,\n signAndExecuteTransactionBlock,\n signMessage,\n signTransaction,\n signTransactionBlock,\n switchActiveNetwork,\n terminate,\n transferAmount: (args) => suiTransferAmount(args, dynamicClient),\n walletProviderType,\n };\n\n return walletProvider;\n};\n","import {\n WalletProviderPriority,\n getDefaultClient,\n getWalletProviderRegistry,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\nimport type {\n SuiWalletFeatures,\n WalletWithFeatures,\n} from '@mysten/wallet-standard';\nimport {\n getWallets,\n isWalletWithRequiredFeatureSet,\n} from '@mysten/wallet-standard';\n\nimport { registerSuiNetworkProviderBuilder } from '../../registerSuiNetworkProviderBuilder';\nimport { createWalletProviderFromSuiStandardWallet } from '../utils/createWalletProviderFromSuiStandardWallet';\n\nexport const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';\n\n/**\n * Adds the Sui Wallet Standard extension to the Dynamic client.\n *\n * This extension enables integration with wallets that implement the Sui Wallet Standard,\n * automatically detecting and registering compatible wallets for use with the Dynamic SDK.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n */\nexport const addSuiWalletStandardExtension = (\n client = getDefaultClient()\n): void => {\n if (\n hasExtension({ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY }, client)\n ) {\n return;\n }\n\n registerExtension(\n { extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY },\n client\n );\n\n registerSuiNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n const walletStandardWallets = getWallets()\n .get()\n .filter((wallet) =>\n isWalletWithRequiredFeatureSet(wallet, [\n 'standard:events',\n 'standard:connect',\n 'sui:signPersonalMessage',\n ])\n ) as WalletWithFeatures<SuiWalletFeatures>[];\n\n walletStandardWallets.forEach((walletStandardWallet) => {\n const walletProvider = createWalletProviderFromSuiStandardWallet({\n dynamicClient: client,\n walletStandardWallet,\n });\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,\n walletProvider,\n });\n });\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as registerSuiNetworkProviderBuilder } from "./registerSuiNetworkProviderBuilder-Byjt5yK6.esm.js";
1
+ import { a as suiExecuteCheckoutTransaction, c as registerSuiNetworkProviderBuilder, t as suiTransferAmount } from "./suiTransferAmount-B8h2ZTJQ.esm.js";
2
2
  import { WalletProviderPriority, assertDefined, formatWalletProviderGroupKey, formatWalletProviderKey, getActiveNetworkIdFromLastKnownRegistry, getBuffer, getDefaultClient, getWalletProviderRegistry, hasExtension, registerExtension, switchActiveNetworkInLastKnownRegistry } from "@dynamic-labs-sdk/client/core";
3
3
  import { SuiClient } from "@mysten/sui/client";
4
4
  import { getActiveNetworkData } from "@dynamic-labs-sdk/client";
@@ -77,6 +77,7 @@ const createWalletProviderForWaasSui = (sdkClient) => {
77
77
  return {
78
78
  ...waasProvider,
79
79
  chain,
80
+ executeCheckoutTransaction: (args) => suiExecuteCheckoutTransaction(args, sdkClient),
80
81
  getActiveNetworkId,
81
82
  getConnectedAddresses,
82
83
  getSuiClient,
@@ -90,6 +91,7 @@ const createWalletProviderForWaasSui = (sdkClient) => {
90
91
  signMessage,
91
92
  signTransaction,
92
93
  switchActiveNetwork,
94
+ transferAmount: (args) => suiTransferAmount(args, sdkClient),
93
95
  walletProviderType
94
96
  };
95
97
  };
@@ -119,4 +121,4 @@ const addWaasSuiExtension = (client = getDefaultClient()) => {
119
121
 
120
122
  //#endregion
121
123
  export { addWaasSuiExtension as t };
122
- //# sourceMappingURL=addWaasSuiExtension-BSgmwZos.esm.js.map
124
+ //# sourceMappingURL=addWaasSuiExtension-C2JMpaJ9.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addWaasSuiExtension-C2JMpaJ9.esm.js","names":["chain: Chain","getActiveNetworkId: WaasSuiWalletProvider['getActiveNetworkId']","getSuiClient: WaasSuiWalletProvider['getSuiClient']","switchActiveNetwork: WaasSuiWalletProvider['switchActiveNetwork']","getConnectedAddresses: WaasSuiWalletProvider['getConnectedAddresses']","signAndExecuteTransaction: WaasSuiWalletProvider['signAndExecuteTransaction']","signTransaction: WaasSuiWalletProvider['signTransaction']","signMessage: WaasSuiWalletProvider['signMessage']"],"sources":["../src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.ts","../src/waas/addWaasSuiExtension/addWaasSuiExtension.ts"],"sourcesContent":["import {\n type Chain,\n type DynamicClient,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n getBuffer,\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 { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { SuiClient } from '@mysten/sui/client';\n\nimport { suiExecuteCheckoutTransaction } from '../../../utils/suiExecuteCheckoutTransaction';\nimport { suiTransferAmount } from '../../../utils/suiTransferAmount/suiTransferAmount';\nimport type { WaasSuiWalletProvider } from '../../WaasSuiWalletProvider.types';\n\nexport const createWalletProviderForWaasSui = (\n sdkClient: DynamicClient\n): WaasSuiWalletProvider => {\n const chain: Chain = 'SUI';\n\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 getActiveNetworkId: WaasSuiWalletProvider['getActiveNetworkId'] =\n async () =>\n getActiveNetworkIdFromLastKnownRegistry({\n client: sdkClient,\n walletProviderKey: key,\n });\n\n const getSuiClient: WaasSuiWalletProvider['getSuiClient'] = async ({\n walletAccount,\n }) => {\n const activeNetworkData = await getActiveNetworkData(\n { walletAccount },\n sdkClient\n );\n assertDefined(activeNetworkData, 'No active network data found');\n\n const url = activeNetworkData.networkData?.rpcUrls.http[0];\n assertDefined(url, 'No RPC URL found for active network');\n\n return new SuiClient({ url });\n };\n\n const switchActiveNetwork: WaasSuiWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) =>\n switchActiveNetworkInLastKnownRegistry({\n client: sdkClient,\n networkId,\n walletProviderKey: key,\n });\n\n const getConnectedAddresses: WaasSuiWalletProvider['getConnectedAddresses'] =\n async () => {\n const waasSolanaAddresses = getAllUserWaasAddressesForChain(\n { chain },\n sdkClient\n );\n\n return {\n addresses: waasSolanaAddresses,\n };\n };\n\n const signAndExecuteTransaction: WaasSuiWalletProvider['signAndExecuteTransaction'] =\n async ({ transaction, walletAccount }) => {\n const { bytes, signature } = await signTransaction({\n transaction,\n walletAccount,\n });\n\n const suiClient = await getSuiClient({ walletAccount });\n\n const response = await suiClient.executeTransactionBlock({\n signature,\n transactionBlock: bytes,\n });\n\n return {\n ...response,\n bytes,\n effects: response.effects?.toString() ?? '',\n signature,\n };\n };\n\n const signTransaction: WaasSuiWalletProvider['signTransaction'] = async ({\n transaction,\n walletAccount,\n }) => {\n const suiClient = await getSuiClient({ walletAccount });\n const txBytes = await transaction.build({ client: suiClient });\n const txBytesBase64 = getBuffer().from(txBytes).toString('base64');\n const txString = getBuffer().from(txBytes).toString('hex');\n\n const { signature } = await waasProvider.signSerializedTransaction({\n serializedTransaction: txString,\n walletAccount,\n });\n\n return { bytes: txBytesBase64, signature };\n };\n\n const signMessage: WaasSuiWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n return waasProvider.signMessage({ message, walletAccount });\n };\n\n return {\n ...waasProvider,\n chain,\n executeCheckoutTransaction: (args) =>\n suiExecuteCheckoutTransaction(args, sdkClient),\n getActiveNetworkId,\n getConnectedAddresses,\n getSuiClient,\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 signAndExecuteTransaction,\n signMessage,\n signTransaction,\n switchActiveNetwork,\n transferAmount: (args) => suiTransferAmount(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 { registerSuiNetworkProviderBuilder } from '../../registerSuiNetworkProviderBuilder';\nimport { createWalletProviderForWaasSui } from '../utils/createWalletProviderForWaasSui';\n\nexport const WAAS_SUI_EXTENSION_KEY = 'waasSui';\n\n/**\n * Adds the Dynamic WaaS (Wallet as a Service) Sui extension to the Dynamic client.\n *\n * This extension enables embedded wallet functionality for Sui 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 */\nexport const addWaasSuiExtension = (client = getDefaultClient()): void => {\n if (hasExtension({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client)) {\n return;\n }\n\n registerExtension({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client);\n registerSuiNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n const walletProvider = createWalletProviderForWaasSui(client);\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SDK,\n walletProvider,\n });\n};\n"],"mappings":";;;;;;;;AAyBA,MAAa,kCACX,cAC0B;CAC1B,MAAMA,QAAe;CAErB,MAAM,qBAAqB,mBAAmB;CAE9C,MAAM,MAAM,wBAAwB;EAClC;EACA,aAAa,sBAAsB;EACnC;EACD,CAAC;CAEF,MAAM,eAAe,mBAAmB;EAAE;EAAO;EAAW,CAAC;CAE7D,MAAMC,qBACJ,YACE,wCAAwC;EACtC,QAAQ;EACR,mBAAmB;EACpB,CAAC;CAEN,MAAMC,eAAsD,OAAO,EACjE,oBACI;EACJ,MAAM,oBAAoB,MAAM,qBAC9B,EAAE,eAAe,EACjB,UACD;AACD,gBAAc,mBAAmB,+BAA+B;EAEhE,MAAM,MAAM,kBAAkB,aAAa,QAAQ,KAAK;AACxD,gBAAc,KAAK,sCAAsC;AAEzD,SAAO,IAAI,UAAU,EAAE,KAAK,CAAC;;CAG/B,MAAMC,sBACJ,OAAO,EAAE,gBACP,uCAAuC;EACrC,QAAQ;EACR;EACA,mBAAmB;EACpB,CAAC;CAEN,MAAMC,wBACJ,YAAY;AAMV,SAAO,EACL,WAN0B,gCAC1B,EAAE,OAAO,EACT,UACD,EAIA;;CAGL,MAAMC,4BACJ,OAAO,EAAE,aAAa,oBAAoB;EACxC,MAAM,EAAE,OAAO,cAAc,MAAM,gBAAgB;GACjD;GACA;GACD,CAAC;EAIF,MAAM,WAAW,OAFC,MAAM,aAAa,EAAE,eAAe,CAAC,EAEtB,wBAAwB;GACvD;GACA,kBAAkB;GACnB,CAAC;AAEF,SAAO;GACL,GAAG;GACH;GACA,SAAS,SAAS,SAAS,UAAU,IAAI;GACzC;GACD;;CAGL,MAAMC,kBAA4D,OAAO,EACvE,aACA,oBACI;EACJ,MAAM,YAAY,MAAM,aAAa,EAAE,eAAe,CAAC;EACvD,MAAM,UAAU,MAAM,YAAY,MAAM,EAAE,QAAQ,WAAW,CAAC;EAC9D,MAAM,gBAAgB,WAAW,CAAC,KAAK,QAAQ,CAAC,SAAS,SAAS;EAClE,MAAM,WAAW,WAAW,CAAC,KAAK,QAAQ,CAAC,SAAS,MAAM;EAE1D,MAAM,EAAE,cAAc,MAAM,aAAa,0BAA0B;GACjE,uBAAuB;GACvB;GACD,CAAC;AAEF,SAAO;GAAE,OAAO;GAAe;GAAW;;CAG5C,MAAMC,cAAoD,OAAO,EAC/D,SACA,oBACI;AACJ,gBAAc,eAAe,6BAA6B;AAE1D,SAAO,aAAa,YAAY;GAAE;GAAS;GAAe,CAAC;;AAG7D,QAAO;EACL,GAAG;EACH;EACA,6BAA6B,SAC3B,8BAA8B,MAAM,UAAU;EAChD;EACA;EACA;EACA,UAAU,6BAA6B,sBAAsB,YAAY;EACzE;EACA,UAAU;GACR,aAAa,sBAAsB;GACnC,MAAM,sBAAsB;GAC7B;EACD;EACA;EACA;EACA;EACA,iBAAiB,SAAS,kBAAkB,MAAM,UAAU;EAC5D;EACD;;;;;AC3IH,MAAa,yBAAyB;;;;;;;;;AAUtC,MAAa,uBAAuB,SAAS,kBAAkB,KAAW;AACxE,KAAI,aAAa,EAAE,cAAc,wBAAwB,EAAE,OAAO,CAChE;AAGF,mBAAkB,EAAE,cAAc,wBAAwB,EAAE,OAAO;AACnE,mCAAkC,OAAO;CAEzC,MAAM,yBAAyB,0BAA0B,OAAO;CAEhE,MAAM,iBAAiB,+BAA+B,OAAO;AAE7D,wBAAuB,SAAS;EAC9B,UAAU,uBAAuB;EACjC;EACD,CAAC"}
@@ -1,4 +1,4 @@
1
- const require_registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder-BrZT9Z_o.cjs.js');
1
+ const require_suiTransferAmount = require('./suiTransferAmount-CBJCfAnc.cjs.js');
2
2
  let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
3
3
  let _mysten_sui_client = require("@mysten/sui/client");
4
4
  let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
@@ -77,6 +77,7 @@ const createWalletProviderForWaasSui = (sdkClient) => {
77
77
  return {
78
78
  ...waasProvider,
79
79
  chain,
80
+ executeCheckoutTransaction: (args) => require_suiTransferAmount.suiExecuteCheckoutTransaction(args, sdkClient),
80
81
  getActiveNetworkId,
81
82
  getConnectedAddresses,
82
83
  getSuiClient,
@@ -90,6 +91,7 @@ const createWalletProviderForWaasSui = (sdkClient) => {
90
91
  signMessage,
91
92
  signTransaction,
92
93
  switchActiveNetwork,
94
+ transferAmount: (args) => require_suiTransferAmount.suiTransferAmount(args, sdkClient),
93
95
  walletProviderType
94
96
  };
95
97
  };
@@ -108,7 +110,7 @@ const WAAS_SUI_EXTENSION_KEY = "waasSui";
108
110
  const addWaasSuiExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
109
111
  if ((0, _dynamic_labs_sdk_client_core.hasExtension)({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client)) return;
110
112
  (0, _dynamic_labs_sdk_client_core.registerExtension)({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client);
111
- require_registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
113
+ require_suiTransferAmount.registerSuiNetworkProviderBuilder(client);
112
114
  const walletProviderRegistry = (0, _dynamic_labs_sdk_client_core.getWalletProviderRegistry)(client);
113
115
  const walletProvider = createWalletProviderForWaasSui(client);
114
116
  walletProviderRegistry.register({
@@ -124,4 +126,4 @@ Object.defineProperty(exports, 'addWaasSuiExtension', {
124
126
  return addWaasSuiExtension;
125
127
  }
126
128
  });
127
- //# sourceMappingURL=addWaasSuiExtension-ist4SCEt.cjs.js.map
129
+ //# sourceMappingURL=addWaasSuiExtension-CpJzJg43.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addWaasSuiExtension-CpJzJg43.cjs.js","names":["chain: Chain","WalletProviderEnum","DYNAMIC_WAAS_METADATA","getActiveNetworkId: WaasSuiWalletProvider['getActiveNetworkId']","getSuiClient: WaasSuiWalletProvider['getSuiClient']","SuiClient","switchActiveNetwork: WaasSuiWalletProvider['switchActiveNetwork']","getConnectedAddresses: WaasSuiWalletProvider['getConnectedAddresses']","signAndExecuteTransaction: WaasSuiWalletProvider['signAndExecuteTransaction']","signTransaction: WaasSuiWalletProvider['signTransaction']","signMessage: WaasSuiWalletProvider['signMessage']","suiExecuteCheckoutTransaction","suiTransferAmount","WalletProviderPriority"],"sources":["../src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.ts","../src/waas/addWaasSuiExtension/addWaasSuiExtension.ts"],"sourcesContent":["import {\n type Chain,\n type DynamicClient,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n getBuffer,\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 { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { SuiClient } from '@mysten/sui/client';\n\nimport { suiExecuteCheckoutTransaction } from '../../../utils/suiExecuteCheckoutTransaction';\nimport { suiTransferAmount } from '../../../utils/suiTransferAmount/suiTransferAmount';\nimport type { WaasSuiWalletProvider } from '../../WaasSuiWalletProvider.types';\n\nexport const createWalletProviderForWaasSui = (\n sdkClient: DynamicClient\n): WaasSuiWalletProvider => {\n const chain: Chain = 'SUI';\n\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 getActiveNetworkId: WaasSuiWalletProvider['getActiveNetworkId'] =\n async () =>\n getActiveNetworkIdFromLastKnownRegistry({\n client: sdkClient,\n walletProviderKey: key,\n });\n\n const getSuiClient: WaasSuiWalletProvider['getSuiClient'] = async ({\n walletAccount,\n }) => {\n const activeNetworkData = await getActiveNetworkData(\n { walletAccount },\n sdkClient\n );\n assertDefined(activeNetworkData, 'No active network data found');\n\n const url = activeNetworkData.networkData?.rpcUrls.http[0];\n assertDefined(url, 'No RPC URL found for active network');\n\n return new SuiClient({ url });\n };\n\n const switchActiveNetwork: WaasSuiWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) =>\n switchActiveNetworkInLastKnownRegistry({\n client: sdkClient,\n networkId,\n walletProviderKey: key,\n });\n\n const getConnectedAddresses: WaasSuiWalletProvider['getConnectedAddresses'] =\n async () => {\n const waasSolanaAddresses = getAllUserWaasAddressesForChain(\n { chain },\n sdkClient\n );\n\n return {\n addresses: waasSolanaAddresses,\n };\n };\n\n const signAndExecuteTransaction: WaasSuiWalletProvider['signAndExecuteTransaction'] =\n async ({ transaction, walletAccount }) => {\n const { bytes, signature } = await signTransaction({\n transaction,\n walletAccount,\n });\n\n const suiClient = await getSuiClient({ walletAccount });\n\n const response = await suiClient.executeTransactionBlock({\n signature,\n transactionBlock: bytes,\n });\n\n return {\n ...response,\n bytes,\n effects: response.effects?.toString() ?? '',\n signature,\n };\n };\n\n const signTransaction: WaasSuiWalletProvider['signTransaction'] = async ({\n transaction,\n walletAccount,\n }) => {\n const suiClient = await getSuiClient({ walletAccount });\n const txBytes = await transaction.build({ client: suiClient });\n const txBytesBase64 = getBuffer().from(txBytes).toString('base64');\n const txString = getBuffer().from(txBytes).toString('hex');\n\n const { signature } = await waasProvider.signSerializedTransaction({\n serializedTransaction: txString,\n walletAccount,\n });\n\n return { bytes: txBytesBase64, signature };\n };\n\n const signMessage: WaasSuiWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n return waasProvider.signMessage({ message, walletAccount });\n };\n\n return {\n ...waasProvider,\n chain,\n executeCheckoutTransaction: (args) =>\n suiExecuteCheckoutTransaction(args, sdkClient),\n getActiveNetworkId,\n getConnectedAddresses,\n getSuiClient,\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 signAndExecuteTransaction,\n signMessage,\n signTransaction,\n switchActiveNetwork,\n transferAmount: (args) => suiTransferAmount(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 { registerSuiNetworkProviderBuilder } from '../../registerSuiNetworkProviderBuilder';\nimport { createWalletProviderForWaasSui } from '../utils/createWalletProviderForWaasSui';\n\nexport const WAAS_SUI_EXTENSION_KEY = 'waasSui';\n\n/**\n * Adds the Dynamic WaaS (Wallet as a Service) Sui extension to the Dynamic client.\n *\n * This extension enables embedded wallet functionality for Sui 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 */\nexport const addWaasSuiExtension = (client = getDefaultClient()): void => {\n if (hasExtension({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client)) {\n return;\n }\n\n registerExtension({ extensionKey: WAAS_SUI_EXTENSION_KEY }, client);\n registerSuiNetworkProviderBuilder(client);\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n const walletProvider = createWalletProviderForWaasSui(client);\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SDK,\n walletProvider,\n });\n};\n"],"mappings":";;;;;;;;AAyBA,MAAa,kCACX,cAC0B;CAC1B,MAAMA,QAAe;CAErB,MAAM,qBAAqBC,8CAAmB;CAE9C,MAAM,iEAA8B;EAClC;EACA,aAAaC,yDAAsB;EACnC;EACD,CAAC;CAEF,MAAM,0EAAkC;EAAE;EAAO;EAAW,CAAC;CAE7D,MAAMC,qBACJ,uFAC0C;EACtC,QAAQ;EACR,mBAAmB;EACpB,CAAC;CAEN,MAAMC,eAAsD,OAAO,EACjE,oBACI;EACJ,MAAM,oBAAoB,yDACxB,EAAE,eAAe,EACjB,UACD;AACD,mDAAc,mBAAmB,+BAA+B;EAEhE,MAAM,MAAM,kBAAkB,aAAa,QAAQ,KAAK;AACxD,mDAAc,KAAK,sCAAsC;AAEzD,SAAO,IAAIC,6BAAU,EAAE,KAAK,CAAC;;CAG/B,MAAMC,sBACJ,OAAO,EAAE,0FACgC;EACrC,QAAQ;EACR;EACA,mBAAmB;EACpB,CAAC;CAEN,MAAMC,wBACJ,YAAY;AAMV,SAAO,EACL,mFALA,EAAE,OAAO,EACT,UACD,EAIA;;CAGL,MAAMC,4BACJ,OAAO,EAAE,aAAa,oBAAoB;EACxC,MAAM,EAAE,OAAO,cAAc,MAAM,gBAAgB;GACjD;GACA;GACD,CAAC;EAIF,MAAM,WAAW,OAFC,MAAM,aAAa,EAAE,eAAe,CAAC,EAEtB,wBAAwB;GACvD;GACA,kBAAkB;GACnB,CAAC;AAEF,SAAO;GACL,GAAG;GACH;GACA,SAAS,SAAS,SAAS,UAAU,IAAI;GACzC;GACD;;CAGL,MAAMC,kBAA4D,OAAO,EACvE,aACA,oBACI;EACJ,MAAM,YAAY,MAAM,aAAa,EAAE,eAAe,CAAC;EACvD,MAAM,UAAU,MAAM,YAAY,MAAM,EAAE,QAAQ,WAAW,CAAC;EAC9D,MAAM,8DAA2B,CAAC,KAAK,QAAQ,CAAC,SAAS,SAAS;EAClE,MAAM,yDAAsB,CAAC,KAAK,QAAQ,CAAC,SAAS,MAAM;EAE1D,MAAM,EAAE,cAAc,MAAM,aAAa,0BAA0B;GACjE,uBAAuB;GACvB;GACD,CAAC;AAEF,SAAO;GAAE,OAAO;GAAe;GAAW;;CAG5C,MAAMC,cAAoD,OAAO,EAC/D,SACA,oBACI;AACJ,mDAAc,eAAe,6BAA6B;AAE1D,SAAO,aAAa,YAAY;GAAE;GAAS;GAAe,CAAC;;AAG7D,QAAO;EACL,GAAG;EACH;EACA,6BAA6B,SAC3BC,wDAA8B,MAAM,UAAU;EAChD;EACA;EACA;EACA,0EAAuCT,yDAAsB,YAAY;EACzE;EACA,UAAU;GACR,aAAaA,yDAAsB;GACnC,MAAMA,yDAAsB;GAC7B;EACD;EACA;EACA;EACA;EACA,iBAAiB,SAASU,4CAAkB,MAAM,UAAU;EAC5D;EACD;;;;;AC3IH,MAAa,yBAAyB;;;;;;;;;AAUtC,MAAa,uBAAuB,8DAA2B,KAAW;AACxE,qDAAiB,EAAE,cAAc,wBAAwB,EAAE,OAAO,CAChE;AAGF,sDAAkB,EAAE,cAAc,wBAAwB,EAAE,OAAO;AACnE,6DAAkC,OAAO;CAEzC,MAAM,sFAAmD,OAAO;CAEhE,MAAM,iBAAiB,+BAA+B,OAAO;AAE7D,wBAAuB,SAAS;EAC9B,UAAUC,qDAAuB;EACjC;EACD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type SuiSigningPayload = {
2
+ serializedTransaction?: {
3
+ serializedTransaction: string;
4
+ };
5
+ };
6
+ //# sourceMappingURL=checkoutTransaction.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkoutTransaction.types.d.ts","sourceRoot":"","sources":["../src/checkoutTransaction.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB,CAAC,EAAE;QACtB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
- const require_registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder-BrZT9Z_o.cjs.js');
2
- const require_addWaasSuiExtension = require('./addWaasSuiExtension-ist4SCEt.cjs.js');
3
- const require_addSuiWalletStandardExtension = require('./addSuiWalletStandardExtension-Cv7bEwTp.cjs.js');
1
+ const require_suiTransferAmount = require('./suiTransferAmount-CBJCfAnc.cjs.js');
2
+ const require_addWaasSuiExtension = require('./addWaasSuiExtension-CpJzJg43.cjs.js');
3
+ const require_addSuiWalletStandardExtension = require('./addSuiWalletStandardExtension-DbOm408I.cjs.js');
4
4
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
5
5
  let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
6
6
  let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
@@ -20,44 +20,6 @@ const addSuiExtension = (client = (0, _dynamic_labs_sdk_client_core.getDefaultCl
20
20
  require_addWaasSuiExtension.addWaasSuiExtension(client);
21
21
  };
22
22
 
23
- //#endregion
24
- //#region src/errors/NotSuiProviderError/NotSuiProviderError.ts
25
- var NotSuiProviderError = class extends _dynamic_labs_sdk_client.BaseError {
26
- providerKey;
27
- constructor(params) {
28
- super({
29
- cause: null,
30
- code: "not_sui_provider_error",
31
- docsUrl: null,
32
- name: "NotSuiProviderError",
33
- shortMessage: "Provider is not a Sui wallet provider"
34
- });
35
- this.providerKey = params.providerKey;
36
- }
37
- };
38
-
39
- //#endregion
40
- //#region src/isSuiWalletProvider/isSuiWalletProvider.ts
41
- const isSuiWalletProvider = (provider) => {
42
- return provider.chain === "SUI";
43
- };
44
-
45
- //#endregion
46
- //#region src/getSuiClient/getSuiClient.ts
47
- /**
48
- * Retrieves a SuiClient from a wallet account.
49
- *
50
- * @param params.walletAccount - The wallet account to get the SuiClient for.
51
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
52
- * @returns A promise that resolves to a SuiClient instance
53
- * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider
54
- */
55
- const getSuiClient = async ({ walletAccount }, client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
56
- const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
57
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
58
- return provider.getSuiClient({ walletAccount });
59
- };
60
-
61
23
  //#endregion
62
24
  //#region src/isSuiNetworkProvider/isSuiNetworkProvider.ts
63
25
  /**
@@ -68,35 +30,6 @@ const getSuiClient = async ({ walletAccount }, client = (0, _dynamic_labs_sdk_cl
68
30
  */
69
31
  const isSuiNetworkProvider = (networkProvider) => networkProvider.chain === "SUI";
70
32
 
71
- //#endregion
72
- //#region src/isSuiWalletAccount/isSuiWalletAccount.ts
73
- /**
74
- * Type guard function to check if a wallet account is a Sui wallet account.
75
- *
76
- * @param walletAccount - The wallet account to check.
77
- * @returns True if the wallet account is a Sui wallet account, false otherwise.
78
- */
79
- const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
80
-
81
- //#endregion
82
- //#region src/signAndExecuteTransaction/signAndExecuteTransaction.ts
83
- /**
84
- * Signs and executes a Sui transaction
85
- * @param params.transaction - The transaction to sign and execute
86
- * @param params.walletAccount - The wallet account to sign the transaction with
87
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
88
- * @returns An object containing the signature and transaction bytes
89
- */
90
- const signAndExecuteTransaction = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
91
- const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
92
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
93
- transaction.setSender(walletAccount.address);
94
- return provider.signAndExecuteTransaction({
95
- transaction,
96
- walletAccount
97
- });
98
- };
99
-
100
33
  //#endregion
101
34
  //#region src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.ts
102
35
  /**
@@ -114,7 +47,7 @@ const signAndExecuteTransaction = async ({ walletAccount, transaction }, client
114
47
  */
115
48
  const signAndExecuteTransactionBlock = async ({ walletAccount, transactionBlock, options, requestType }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
116
49
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
117
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
50
+ if (!require_suiTransferAmount.isSuiWalletProvider(provider)) throw new require_suiTransferAmount.NotSuiProviderError({ providerKey: provider.key });
118
51
  if (!provider.signAndExecuteTransactionBlock) throw new _dynamic_labs_sdk_client_core.MethodNotImplementedError("signAndExecuteTransactionBlock");
119
52
  transactionBlock.setSender(walletAccount.address);
120
53
  return provider.signAndExecuteTransactionBlock({
@@ -136,7 +69,7 @@ const signAndExecuteTransactionBlock = async ({ walletAccount, transactionBlock,
136
69
  */
137
70
  const signTransaction = async ({ walletAccount, transaction }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
138
71
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
139
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
72
+ if (!require_suiTransferAmount.isSuiWalletProvider(provider)) throw new require_suiTransferAmount.NotSuiProviderError({ providerKey: provider.key });
140
73
  return provider.signTransaction({
141
74
  transaction,
142
75
  walletAccount
@@ -157,7 +90,7 @@ const signTransaction = async ({ walletAccount, transaction }, client = (0, _dyn
157
90
  */
158
91
  const signTransactionBlock = async ({ walletAccount, transactionBlock }, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
159
92
  const provider = (0, _dynamic_labs_sdk_client_core.getWalletProviderFromWalletAccount)({ walletAccount }, client);
160
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
93
+ if (!require_suiTransferAmount.isSuiWalletProvider(provider)) throw new require_suiTransferAmount.NotSuiProviderError({ providerKey: provider.key });
161
94
  if (!provider.signTransactionBlock) throw new _dynamic_labs_sdk_client_core.MethodNotImplementedError("signTransactionBlock");
162
95
  return provider.signTransactionBlock({
163
96
  transactionBlock,
@@ -167,15 +100,15 @@ const signTransactionBlock = async ({ walletAccount, transactionBlock }, client
167
100
 
168
101
  //#endregion
169
102
  //#region src/exports/index.ts
170
- (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_registerSuiNetworkProviderBuilder.name, require_registerSuiNetworkProviderBuilder.version);
103
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_suiTransferAmount.name, require_suiTransferAmount.version);
171
104
 
172
105
  //#endregion
173
- exports.NotSuiProviderError = NotSuiProviderError;
106
+ exports.NotSuiProviderError = require_suiTransferAmount.NotSuiProviderError;
174
107
  exports.addSuiExtension = addSuiExtension;
175
- exports.getSuiClient = getSuiClient;
108
+ exports.getSuiClient = require_suiTransferAmount.getSuiClient;
176
109
  exports.isSuiNetworkProvider = isSuiNetworkProvider;
177
- exports.isSuiWalletAccount = isSuiWalletAccount;
178
- exports.signAndExecuteTransaction = signAndExecuteTransaction;
110
+ exports.isSuiWalletAccount = require_suiTransferAmount.isSuiWalletAccount;
111
+ exports.signAndExecuteTransaction = require_suiTransferAmount.signAndExecuteTransaction;
179
112
  exports.signAndExecuteTransactionBlock = signAndExecuteTransactionBlock;
180
113
  exports.signTransaction = signTransaction;
181
114
  exports.signTransactionBlock = signTransactionBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["BaseError","MethodNotImplementedError","MethodNotImplementedError","packageName","packageVersion"],"sources":["../src/addSuiExtension/addSuiExtension.ts","../src/errors/NotSuiProviderError/NotSuiProviderError.ts","../src/isSuiWalletProvider/isSuiWalletProvider.ts","../src/getSuiClient/getSuiClient.ts","../src/isSuiNetworkProvider/isSuiNetworkProvider.ts","../src/isSuiWalletAccount/isSuiWalletAccount.ts","../src/signAndExecuteTransaction/signAndExecuteTransaction.ts","../src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.ts","../src/signTransaction/signTransaction.ts","../src/signTransactionBlock/signTransactionBlock.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addWaasSuiExtension } from '../waas/addWaasSuiExtension';\nimport { addSuiWalletStandardExtension } from '../walletStandard/addSuiWalletStandardExtension';\n\n/**\n * Adds the Sui extension to the Dynamic client.\n *\n * This is a convenience function that adds both the Sui Wallet Standard extension\n * and the Dynamic WaaS Sui extension, enabling support for all Sui wallet types\n * including standard wallets and embedded wallets managed by Dynamic's infrastructure.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n */\nexport const addSuiExtension = (client = getDefaultClient()): void => {\n addSuiWalletStandardExtension(client);\n addWaasSuiExtension(client);\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\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 */\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 { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { SuiNetworkProvider } from '../SuiNetworkProvider.types';\n\n/**\n * Type guard function to check if a network provider is a Sui network provider.\n *\n * @param networkProvider - The network provider to check.\n * @returns True if the network provider is a Sui network provider, false otherwise.\n */\nexport const isSuiNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is SuiNetworkProvider => networkProvider.chain === 'SUI';\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 */\nexport const isSuiWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is SuiWalletAccount => walletAccount.chain === 'SUI';\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 */\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 { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport {\n MethodNotImplementedError,\n getWalletProviderFromWalletAccount,\n} 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 {\n SuiExecuteTransactionRequestType,\n SuiSignAndExecuteTransactionBlockResult,\n SuiTransactionBlockResponseOptions,\n} from '../SuiWalletProvider.types';\n\ntype SignAndExecuteTransactionBlockParams = {\n options?: SuiTransactionBlockResponseOptions;\n requestType?: SuiExecuteTransactionRequestType;\n transactionBlock: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * @deprecated Use signAndExecuteTransaction instead\n *\n * Signs and executes a Sui transaction block\n *\n * @param params.transactionBlock - The transaction block to sign and execute\n * @param params.walletAccount - The wallet account to sign the transaction with\n * @param [params.options] - The fields to return in the execution response (e.g., transaction, effects, events, etc).\n * By default, only the transaction digest will be returned.\n * @param [params.requestType] - The request type to use for the transaction execution\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing signature result\n */\nexport const signAndExecuteTransactionBlock = async (\n {\n walletAccount,\n transactionBlock,\n options,\n requestType,\n }: SignAndExecuteTransactionBlockParams,\n client = getDefaultClient()\n): Promise<SuiSignAndExecuteTransactionBlockResult> => {\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 if (!provider.signAndExecuteTransactionBlock) {\n throw new MethodNotImplementedError('signAndExecuteTransactionBlock');\n }\n\n transactionBlock.setSender(walletAccount.address);\n\n return provider.signAndExecuteTransactionBlock({\n options,\n requestType,\n transactionBlock,\n walletAccount,\n });\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 { SuiSignTransactionResult } from '../SuiWalletProvider.types';\n\ntype SignTransactionParams = {\n transaction: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Signs a Sui transaction\n * @param params.transaction - The transaction to sign\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 */\nexport const signTransaction = async (\n { walletAccount, transaction }: SignTransactionParams,\n client = getDefaultClient()\n): Promise<SuiSignTransactionResult> => {\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.signTransaction({ transaction, walletAccount });\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport {\n MethodNotImplementedError,\n getWalletProviderFromWalletAccount,\n} 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 { SuiSignTransactionBlockResult } from '../SuiWalletProvider.types';\n\ntype SignTransactionBlockParams = {\n transactionBlock: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * @deprecated Use signTransaction instead\n *\n * Signs a Sui transaction block\n *\n * @param params.transactionBlock - The transaction block to sign\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 block bytes\n */\nexport const signTransactionBlock = async (\n { walletAccount, transactionBlock }: SignTransactionBlockParams,\n client = getDefaultClient()\n): Promise<SuiSignTransactionBlockResult> => {\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 if (!provider.signTransactionBlock) {\n throw new MethodNotImplementedError('signTransactionBlock');\n }\n\n return provider.signTransactionBlock({ transactionBlock, 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';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addSuiExtension } from '../addSuiExtension';\nexport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nexport { getSuiClient } from '../getSuiClient';\nexport { isSuiNetworkProvider } from '../isSuiNetworkProvider';\nexport { isSuiWalletAccount } from '../isSuiWalletAccount';\nexport { signAndExecuteTransaction } from '../signAndExecuteTransaction';\nexport { signAndExecuteTransactionBlock } from '../signAndExecuteTransactionBlock';\nexport { signTransaction } from '../signTransaction';\nexport { signTransactionBlock } from '../signTransactionBlock';\nexport type { SuiNetworkProvider } from '../SuiNetworkProvider.types';\nexport type { SuiWalletAccount } from '../SuiWalletAccount.types';\nexport type {\n SuiClient,\n SuiExecuteTransactionRequestType,\n SuiSignAndExecuteTransactionBlockResult,\n SuiSignAndExecuteTransactionResult,\n SuiSignTransactionBlockResult,\n SuiSignTransactionResult,\n SuiTransactionBlockResponseOptions,\n} from '../SuiWalletProvider.types';\n"],"mappings":";;;;;;;;;;;;;;;;;AAcA,MAAa,mBAAmB,8DAA2B,KAAW;AACpE,qEAA8B,OAAO;AACrC,iDAAoB,OAAO;;;;;ACd7B,IAAa,sBAAb,cAAyCA,mCAAU;CACjD,AAAgB;CAEhB,YAAY,QAAiC;AAC3C,QAAM;GACJ,OAAO;GACP,MAAM;GACN,SAAS;GACT,MAAM;GACN,cAAc;GACf,CAAC;AAEF,OAAK,cAAc,OAAO;;;;;;ACV9B,MAAa,uBACX,aACkC;AAClC,QAAO,SAAS,UAAU;;;;;;;;;;;;;ACc5B,MAAa,eAAe,OAC1B,EAAE,iBACF,8DAA2B,KACxB;CACH,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,aAAa,EAAE,eAAe,CAAC;;;;;;;;;;;AC1BjD,MAAa,wBACX,oBAC0C,gBAAgB,UAAU;;;;;;;;;;ACFtE,MAAa,sBACX,kBACsC,cAAc,UAAU;;;;;;;;;;;ACShE,MAAa,4BAA4B,OACvC,EAAE,eAAe,eACjB,yDAA2B,KACqB;CAChD,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,aAAY,UAAU,cAAc,QAAQ;AAE5C,QAAO,SAAS,0BAA0B;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;;;;ACF3E,MAAa,iCAAiC,OAC5C,EACE,eACA,kBACA,SACA,eAEF,yDAA2B,KAC0B;CACrD,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,KAAI,CAAC,SAAS,+BACZ,OAAM,IAAIC,wDAA0B,iCAAiC;AAGvE,kBAAiB,UAAU,cAAc,QAAQ;AAEjD,QAAO,SAAS,+BAA+B;EAC7C;EACA;EACA;EACA;EACD,CAAC;;;;;;;;;;;;AC9CJ,MAAa,kBAAkB,OAC7B,EAAE,eAAe,eACjB,yDAA2B,KACW;CACtC,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,gBAAgB;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;ACTjE,MAAa,uBAAuB,OAClC,EAAE,eAAe,oBACjB,yDAA2B,KACgB;CAC3C,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAAC,oBAAoB,SAAS,CAChC,OAAM,IAAI,oBAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,KAAI,CAAC,SAAS,qBACZ,OAAM,IAAIC,wDAA0B,uBAAuB;AAG7D,QAAO,SAAS,qBAAqB;EAAE;EAAkB;EAAe,CAAC;;;;;mECxCtDC,gDAAaC,kDAAe"}
1
+ {"version":3,"file":"index.cjs.js","names":["isSuiWalletProvider","NotSuiProviderError","MethodNotImplementedError","isSuiWalletProvider","NotSuiProviderError","isSuiWalletProvider","NotSuiProviderError","MethodNotImplementedError","packageName","packageVersion"],"sources":["../src/addSuiExtension/addSuiExtension.ts","../src/isSuiNetworkProvider/isSuiNetworkProvider.ts","../src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.ts","../src/signTransaction/signTransaction.ts","../src/signTransactionBlock/signTransactionBlock.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addWaasSuiExtension } from '../waas/addWaasSuiExtension';\nimport { addSuiWalletStandardExtension } from '../walletStandard/addSuiWalletStandardExtension';\n\n/**\n * Adds the Sui extension to the Dynamic client.\n *\n * This is a convenience function that adds both the Sui Wallet Standard extension\n * and the Dynamic WaaS Sui extension, enabling support for all Sui wallet types\n * including standard wallets and embedded wallets managed by Dynamic's infrastructure.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n */\nexport const addSuiExtension = (client = getDefaultClient()): void => {\n addSuiWalletStandardExtension(client);\n addWaasSuiExtension(client);\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { SuiNetworkProvider } from '../SuiNetworkProvider.types';\n\n/**\n * Type guard function to check if a network provider is a Sui network provider.\n *\n * @param networkProvider - The network provider to check.\n * @returns True if the network provider is a Sui network provider, false otherwise.\n */\nexport const isSuiNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is SuiNetworkProvider => networkProvider.chain === 'SUI';\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport {\n MethodNotImplementedError,\n getWalletProviderFromWalletAccount,\n} 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 {\n SuiExecuteTransactionRequestType,\n SuiSignAndExecuteTransactionBlockResult,\n SuiTransactionBlockResponseOptions,\n} from '../SuiWalletProvider.types';\n\ntype SignAndExecuteTransactionBlockParams = {\n options?: SuiTransactionBlockResponseOptions;\n requestType?: SuiExecuteTransactionRequestType;\n transactionBlock: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * @deprecated Use signAndExecuteTransaction instead\n *\n * Signs and executes a Sui transaction block\n *\n * @param params.transactionBlock - The transaction block to sign and execute\n * @param params.walletAccount - The wallet account to sign the transaction with\n * @param [params.options] - The fields to return in the execution response (e.g., transaction, effects, events, etc).\n * By default, only the transaction digest will be returned.\n * @param [params.requestType] - The request type to use for the transaction execution\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An object containing signature result\n */\nexport const signAndExecuteTransactionBlock = async (\n {\n walletAccount,\n transactionBlock,\n options,\n requestType,\n }: SignAndExecuteTransactionBlockParams,\n client = getDefaultClient()\n): Promise<SuiSignAndExecuteTransactionBlockResult> => {\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 if (!provider.signAndExecuteTransactionBlock) {\n throw new MethodNotImplementedError('signAndExecuteTransactionBlock');\n }\n\n transactionBlock.setSender(walletAccount.address);\n\n return provider.signAndExecuteTransactionBlock({\n options,\n requestType,\n transactionBlock,\n walletAccount,\n });\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 { SuiSignTransactionResult } from '../SuiWalletProvider.types';\n\ntype SignTransactionParams = {\n transaction: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * Signs a Sui transaction\n * @param params.transaction - The transaction to sign\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 */\nexport const signTransaction = async (\n { walletAccount, transaction }: SignTransactionParams,\n client = getDefaultClient()\n): Promise<SuiSignTransactionResult> => {\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.signTransaction({ transaction, walletAccount });\n};\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport {\n MethodNotImplementedError,\n getWalletProviderFromWalletAccount,\n} 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 { SuiSignTransactionBlockResult } from '../SuiWalletProvider.types';\n\ntype SignTransactionBlockParams = {\n transactionBlock: Transaction;\n walletAccount: SuiWalletAccount;\n};\n\n/**\n * @deprecated Use signTransaction instead\n *\n * Signs a Sui transaction block\n *\n * @param params.transactionBlock - The transaction block to sign\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 block bytes\n */\nexport const signTransactionBlock = async (\n { walletAccount, transactionBlock }: SignTransactionBlockParams,\n client = getDefaultClient()\n): Promise<SuiSignTransactionBlockResult> => {\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 if (!provider.signTransactionBlock) {\n throw new MethodNotImplementedError('signTransactionBlock');\n }\n\n return provider.signTransactionBlock({ transactionBlock, 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';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addSuiExtension } from '../addSuiExtension';\nexport { NotSuiProviderError } from '../errors/NotSuiProviderError';\nexport { getSuiClient } from '../getSuiClient';\nexport { isSuiNetworkProvider } from '../isSuiNetworkProvider';\nexport { isSuiWalletAccount } from '../isSuiWalletAccount';\nexport { signAndExecuteTransaction } from '../signAndExecuteTransaction';\nexport { signAndExecuteTransactionBlock } from '../signAndExecuteTransactionBlock';\nexport { signTransaction } from '../signTransaction';\nexport { signTransactionBlock } from '../signTransactionBlock';\nexport type { SuiNetworkProvider } from '../SuiNetworkProvider.types';\nexport type { SuiWalletAccount } from '../SuiWalletAccount.types';\nexport type {\n SuiClient,\n SuiExecuteTransactionRequestType,\n SuiSignAndExecuteTransactionBlockResult,\n SuiSignAndExecuteTransactionResult,\n SuiSignTransactionBlockResult,\n SuiSignTransactionResult,\n SuiTransactionBlockResponseOptions,\n} from '../SuiWalletProvider.types';\n"],"mappings":";;;;;;;;;;;;;;;;;AAcA,MAAa,mBAAmB,8DAA2B,KAAW;AACpE,qEAA8B,OAAO;AACrC,iDAAoB,OAAO;;;;;;;;;;;ACN7B,MAAa,wBACX,oBAC0C,gBAAgB,UAAU;;;;;;;;;;;;;;;;;ACwBtE,MAAa,iCAAiC,OAC5C,EACE,eACA,kBACA,SACA,eAEF,yDAA2B,KAC0B;CACrD,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACA,8CAAoB,SAAS,CAChC,OAAM,IAAIC,8CAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,KAAI,CAAC,SAAS,+BACZ,OAAM,IAAIC,wDAA0B,iCAAiC;AAGvE,kBAAiB,UAAU,cAAc,QAAQ;AAEjD,QAAO,SAAS,+BAA+B;EAC7C;EACA;EACA;EACA;EACD,CAAC;;;;;;;;;;;;AC9CJ,MAAa,kBAAkB,OAC7B,EAAE,eAAe,eACjB,yDAA2B,KACW;CACtC,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACC,8CAAoB,SAAS,CAChC,OAAM,IAAIC,8CAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,QAAO,SAAS,gBAAgB;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;ACTjE,MAAa,uBAAuB,OAClC,EAAE,eAAe,oBACjB,yDAA2B,KACgB;CAC3C,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACC,8CAAoB,SAAS,CAChC,OAAM,IAAIC,8CAAoB,EAAE,aAAa,SAAS,KAAK,CAAC;AAG9D,KAAI,CAAC,SAAS,qBACZ,OAAM,IAAIC,wDAA0B,uBAAuB;AAG7D,QAAO,SAAS,qBAAqB;EAAE;EAAkB;EAAe,CAAC;;;;;mECxCtDC,gCAAaC,kCAAe"}
package/dist/index.esm.js CHANGED
@@ -1,9 +1,9 @@
1
- import { n as name, r as version } from "./registerSuiNetworkProviderBuilder-Byjt5yK6.esm.js";
2
- import { t as addWaasSuiExtension } from "./addWaasSuiExtension-BSgmwZos.esm.js";
3
- import { t as addSuiWalletStandardExtension } from "./addSuiWalletStandardExtension-ZDoIysQf.esm.js";
1
+ import { i as NotSuiProviderError, l as name, n as signAndExecuteTransaction, o as isSuiWalletProvider, r as getSuiClient, s as isSuiWalletAccount, u as version } from "./suiTransferAmount-B8h2ZTJQ.esm.js";
2
+ import { t as addWaasSuiExtension } from "./addWaasSuiExtension-C2JMpaJ9.esm.js";
3
+ import { t as addSuiWalletStandardExtension } from "./addSuiWalletStandardExtension-BR31_Kda.esm.js";
4
4
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
5
5
  import { MethodNotImplementedError, getDefaultClient, getWalletProviderFromWalletAccount } from "@dynamic-labs-sdk/client/core";
6
- import { BaseError, getDefaultClient as getDefaultClient$1 } from "@dynamic-labs-sdk/client";
6
+ import { getDefaultClient as getDefaultClient$1 } from "@dynamic-labs-sdk/client";
7
7
 
8
8
  //#region src/addSuiExtension/addSuiExtension.ts
9
9
  /**
@@ -20,44 +20,6 @@ const addSuiExtension = (client = getDefaultClient()) => {
20
20
  addWaasSuiExtension(client);
21
21
  };
22
22
 
23
- //#endregion
24
- //#region src/errors/NotSuiProviderError/NotSuiProviderError.ts
25
- var NotSuiProviderError = class extends BaseError {
26
- providerKey;
27
- constructor(params) {
28
- super({
29
- cause: null,
30
- code: "not_sui_provider_error",
31
- docsUrl: null,
32
- name: "NotSuiProviderError",
33
- shortMessage: "Provider is not a Sui wallet provider"
34
- });
35
- this.providerKey = params.providerKey;
36
- }
37
- };
38
-
39
- //#endregion
40
- //#region src/isSuiWalletProvider/isSuiWalletProvider.ts
41
- const isSuiWalletProvider = (provider) => {
42
- return provider.chain === "SUI";
43
- };
44
-
45
- //#endregion
46
- //#region src/getSuiClient/getSuiClient.ts
47
- /**
48
- * Retrieves a SuiClient from a wallet account.
49
- *
50
- * @param params.walletAccount - The wallet account to get the SuiClient for.
51
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
52
- * @returns A promise that resolves to a SuiClient instance
53
- * @throws NotSuiProviderError If the wallet account's provider is not a SUI provider
54
- */
55
- const getSuiClient = async ({ walletAccount }, client = getDefaultClient()) => {
56
- const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
57
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
58
- return provider.getSuiClient({ walletAccount });
59
- };
60
-
61
23
  //#endregion
62
24
  //#region src/isSuiNetworkProvider/isSuiNetworkProvider.ts
63
25
  /**
@@ -68,35 +30,6 @@ const getSuiClient = async ({ walletAccount }, client = getDefaultClient()) => {
68
30
  */
69
31
  const isSuiNetworkProvider = (networkProvider) => networkProvider.chain === "SUI";
70
32
 
71
- //#endregion
72
- //#region src/isSuiWalletAccount/isSuiWalletAccount.ts
73
- /**
74
- * Type guard function to check if a wallet account is a Sui wallet account.
75
- *
76
- * @param walletAccount - The wallet account to check.
77
- * @returns True if the wallet account is a Sui wallet account, false otherwise.
78
- */
79
- const isSuiWalletAccount = (walletAccount) => walletAccount.chain === "SUI";
80
-
81
- //#endregion
82
- //#region src/signAndExecuteTransaction/signAndExecuteTransaction.ts
83
- /**
84
- * Signs and executes a Sui transaction
85
- * @param params.transaction - The transaction to sign and execute
86
- * @param params.walletAccount - The wallet account to sign the transaction with
87
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
88
- * @returns An object containing the signature and transaction bytes
89
- */
90
- const signAndExecuteTransaction = async ({ walletAccount, transaction }, client = getDefaultClient$1()) => {
91
- const provider = getWalletProviderFromWalletAccount({ walletAccount }, client);
92
- if (!isSuiWalletProvider(provider)) throw new NotSuiProviderError({ providerKey: provider.key });
93
- transaction.setSender(walletAccount.address);
94
- return provider.signAndExecuteTransaction({
95
- transaction,
96
- walletAccount
97
- });
98
- };
99
-
100
33
  //#endregion
101
34
  //#region src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.ts
102
35
  /**