@dynamic-labs-sdk/aptos 0.25.2 → 0.26.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.
@@ -1,4 +1,4 @@
1
- const require_addAptosWalletStandardExtension = require('./addAptosWalletStandardExtension-CSMVUu4I.cjs.js');
1
+ const require_addAptosWalletStandardExtension = require('./addAptosWalletStandardExtension-CN0EwOQg.cjs');
2
2
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
3
3
 
4
4
  //#region src/exports/walletStandard.ts
@@ -6,4 +6,4 @@ let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert
6
6
 
7
7
  //#endregion
8
8
  exports.addAptosWalletStandardExtension = require_addAptosWalletStandardExtension.addAptosWalletStandardExtension;
9
- //# sourceMappingURL=walletStandard.cjs.js.map
9
+ //# sourceMappingURL=walletStandard.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletStandard.cjs","names":["packageName","packageVersion"],"sources":["../src/exports/walletStandard.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addAptosWalletStandardExtension } from '../walletStandard/addAptosWalletStandardExtension';\n"],"mappings":";;;;mEAMqBA,8CAAaC,gDAAe"}
@@ -1,4 +1,4 @@
1
- import { a as name, o as version, t as addAptosWalletStandardExtension } from "./addAptosWalletStandardExtension-sX6Qmyvd.esm.js";
1
+ import { a as name, o as version, t as addAptosWalletStandardExtension } from "./addAptosWalletStandardExtension-Qi6paQY5.esm.js";
2
2
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
3
3
 
4
4
  //#region src/exports/walletStandard.ts
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dynamic-labs-sdk/aptos",
3
- "version": "0.25.2",
3
+ "version": "0.26.1",
4
4
  "type": "module",
5
- "main": "./dist/index.cjs.js",
5
+ "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.esm.js",
7
7
  "types": "./dist/exports/index.d.ts",
8
8
  "files": [
@@ -13,20 +13,20 @@
13
13
  ".": {
14
14
  "types": "./dist/exports/index.d.ts",
15
15
  "import": "./dist/index.esm.js",
16
- "default": "./dist/index.cjs.js"
16
+ "default": "./dist/index.cjs"
17
17
  },
18
18
  "./walletStandard": {
19
19
  "types": "./dist/exports/walletStandard.d.ts",
20
20
  "import": "./dist/walletStandard.esm.js",
21
- "default": "./dist/walletStandard.cjs.js"
21
+ "default": "./dist/walletStandard.cjs"
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
25
  "@aptos-labs/ts-sdk": "5.1.1",
26
26
  "@aptos-labs/wallet-standard": "0.5.2",
27
27
  "@dynamic-labs/sdk-api-core": "0.0.941",
28
- "@dynamic-labs-sdk/assert-package-version": "0.25.2",
29
- "@dynamic-labs-sdk/client": "0.25.2"
28
+ "@dynamic-labs-sdk/client": "0.26.1",
29
+ "@dynamic-labs-sdk/assert-package-version": "0.26.1"
30
30
  },
31
31
  "devDependencies": {
32
32
  "eventemitter3": "5.0.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"addAptosWalletStandardExtension-CSMVUu4I.cjs.js","names":["Aptos","AptosConfig","BaseError","InvalidParamError","transaction: AptosTransactionPayload","features: AptosFeatures","WalletProviderEnum","connect: AptosWalletProvider['connect']","UserResponseStatus","UserRejectedError","disconnect: AptosWalletProvider['disconnect']","getActiveNetworkId: AptosWalletProvider['getActiveNetworkId']","getAptosClient: AptosWalletProvider['getAptosClient']","Aptos","AptosConfig","getConnectedAddresses: AptosWalletProvider['getConnectedAddresses']","signTransaction: AptosWalletProvider['signTransaction']","signAndSubmitTransaction: AptosWalletProvider['signAndSubmitTransaction']","signMessage: AptosWalletProvider['signMessage']","publicKey: string | undefined","terminate: AptosWalletProvider['terminate']","REQUIRED_FEATURES: (keyof MinimallyRequiredFeatures)[]","WalletProviderPriority"],"sources":["../package.json","../src/utils/constants.ts","../src/utils/fetchAptosBalance/fetchAptosBalance.ts","../src/utils/createAptosNetworkProvider/createAptosNetworkProvider.ts","../src/registerAptosNetworkProviderBuilder/registerAptosNetworkProviderBuilder.ts","../src/errors/NotAptosProviderError/NotAptosProviderError.ts","../src/isAptosWalletAccount/isAptosWalletAccount.ts","../src/isAptosWalletProvider/isAptosWalletProvider.ts","../src/utils/aptosTransferAmount/aptosTransferAmount.ts","../src/walletStandard/utils/createWalletProviderFromAptosStandardWallet/createWalletProviderFromAptosStandardWallet.ts","../src/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.ts","../src/walletStandard/utils/registerAptosStandardWallet/registerAptosStandardWallet.ts","../src/walletStandard/addAptosWalletStandardExtension/addAptosWalletStandardExtension.ts"],"sourcesContent":["","// 1 APT = 10^8 octas (similar to 1 BTC = 10^8 satoshis)\nexport const OCTAS_PER_APT = 1e8;\n","import type { Network } from '@aptos-labs/ts-sdk';\nimport { Aptos, AptosConfig } from '@aptos-labs/ts-sdk';\nimport type { NetworkData } from '@dynamic-labs-sdk/client';\n\nimport { OCTAS_PER_APT } from '../constants';\n\ntype FetchAptosBalanceParams = {\n address: string;\n networkData: NetworkData;\n};\n\n/** @not-instrumented */\nexport const fetchAptosBalance = async ({\n address,\n networkData,\n}: FetchAptosBalanceParams): Promise<string | null> => {\n const config = new AptosConfig({\n fullnode: networkData.rpcUrls.http[0],\n network: networkData.cluster as Network,\n });\n\n const aptosClient = new Aptos(config);\n\n const balance = await aptosClient.getBalance({\n accountAddress: address,\n // APT coin type\n asset: '0x1::aptos_coin::AptosCoin',\n });\n\n return (Number(balance) / OCTAS_PER_APT).toString();\n};\n","import type { NetworkData } from '@dynamic-labs-sdk/client';\nimport { createBaseNetworkProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosNetworkProvider } from '../../AptosNetworkProvider.types';\nimport { fetchAptosBalance } from '../fetchAptosBalance';\n\n/** @not-instrumented */\nexport const createAptosNetworkProvider = (\n networkData: NetworkData\n): AptosNetworkProvider => ({\n ...createBaseNetworkProvider('APTOS', networkData),\n cluster: networkData.cluster,\n getBalance: async ({ address }) => ({\n balance: await fetchAptosBalance({\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 { createAptosNetworkProvider } from '../utils/createAptosNetworkProvider';\n\n/** @not-instrumented */\nexport const registerAptosNetworkProviderBuilder = (\n client: DynamicClient\n): void => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n // If the Aptos network provider builder is already registered, return.\n if (networkProviderBuilderRegistry.get().get('APTOS')) {\n return;\n }\n\n networkProviderBuilderRegistry.register({\n builder: createAptosNetworkProvider,\n chain: 'APTOS',\n });\n};\n","import { BaseError } from '@dynamic-labs-sdk/client';\n\nexport class NotAptosProviderError extends BaseError {\n public readonly providerKey: string;\n\n constructor(params: { providerKey: string }) {\n super({\n cause: null,\n code: 'not_aptos_provider_error',\n docsUrl: null,\n name: 'NotAptosProviderError',\n shortMessage: 'Provider is not an Aptos wallet provider',\n });\n\n this.providerKey = params.providerKey;\n }\n}\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { AptosWalletAccount } from '../AptosWalletAccount.types';\n\n/** @not-instrumented */\nexport const isAptosWalletAccount = (\n walletAccount: WalletAccount\n): walletAccount is AptosWalletAccount => walletAccount.chain === 'APTOS';\n","import type { WalletProvider } from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosWalletProvider } from '../AptosWalletProvider.types';\n\n/** @not-instrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isAptosWalletProvider = (\n provider: WalletProvider | AptosWalletProvider\n): provider is AptosWalletProvider => {\n return provider.chain === 'APTOS';\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { InvalidParamError } from '@dynamic-labs-sdk/client';\nimport {\n type TransferAmountParams,\n getWalletProviderFromWalletAccount,\n parseAmountToSmallestUnit,\n} from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosTransactionPayload } from '../../AptosWalletProvider.types';\nimport { NotAptosProviderError } from '../../errors/NotAptosProviderError';\nimport { isAptosWalletAccount } from '../../isAptosWalletAccount';\nimport { isAptosWalletProvider } from '../../isAptosWalletProvider';\n\nconst APT_DECIMALS = 8;\n\n/**\n * Transfers native APT or fungible tokens from one wallet to another.\n *\n * Converts the human-readable amount string to the smallest unit (octas for APT,\n * or the appropriate unit for fungible tokens) using string-based arithmetic\n * to avoid floating-point precision issues.\n * @not-instrumented\n */\nexport const aptosTransferAmount = async (\n { amount, recipient, token, walletAccount }: TransferAmountParams,\n client: DynamicClient\n): Promise<{ transactionHash: string }> => {\n if (!isAptosWalletAccount(walletAccount)) {\n throw new InvalidParamError(\n 'Wallet account is not an Aptos wallet account'\n );\n }\n\n const provider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n if (!isAptosWalletProvider(provider)) {\n throw new NotAptosProviderError({ providerKey: provider.key });\n }\n\n const decimals = token?.decimals ?? APT_DECIMALS;\n const smallestUnitAmount = parseAmountToSmallestUnit({ amount, decimals });\n\n let transaction: AptosTransactionPayload;\n if (token?.address) {\n transaction = {\n function: '0x1::primary_fungible_store::transfer',\n functionArguments: [token.address, recipient, Number(smallestUnitAmount)],\n typeArguments: ['0x1::fungible_asset::Metadata'],\n };\n } else {\n transaction = {\n function: '0x1::coin::transfer',\n functionArguments: [recipient, Number(smallestUnitAmount)],\n typeArguments: ['0x1::aptos_coin::AptosCoin'],\n };\n }\n\n const result = await provider.signAndSubmitTransaction({\n transaction,\n walletAccount,\n });\n\n return { transactionHash: result.hash };\n};\n","import type { Network } from '@aptos-labs/ts-sdk';\nimport { Aptos, AptosConfig } from '@aptos-labs/ts-sdk';\nimport type {\n AccountInfo,\n AptosFeatures,\n AptosWallet,\n} from '@aptos-labs/wallet-standard';\nimport { UserResponseStatus } from '@aptos-labs/wallet-standard';\nimport {\n type DynamicClient,\n UserRejectedError,\n assertWalletAccountSigningAvailability,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n createWalletProviderEventEmitter,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\n\nimport type { AptosWalletProvider } from '../../../AptosWalletProvider.types';\nimport { aptosTransferAmount } from '../../../utils/aptosTransferAmount';\n\ntype CreateWalletProviderFromAptosStandardWalletParams = {\n dynamicClient: DynamicClient;\n walletStandardWallet: AptosWallet;\n};\n\n/** @not-instrumented */\nexport const createWalletProviderFromAptosStandardWallet = ({\n dynamicClient,\n walletStandardWallet,\n}: CreateWalletProviderFromAptosStandardWalletParams): AptosWalletProvider => {\n const features: AptosFeatures = walletStandardWallet.features;\n\n const walletProviderType = WalletProviderEnum.BrowserExtension;\n\n const key = formatWalletProviderKey({\n chain: 'APTOS',\n displayName: walletStandardWallet.name,\n walletProviderType,\n });\n\n const getAutoConnectedAccount = ():\n | { address: string; publicKey: string }[]\n | undefined => {\n const accounts = walletStandardWallet.accounts;\n if (!accounts?.length || !accounts[0].publicKey || !accounts[0].address) {\n return;\n }\n\n return accounts.map((account) => ({\n address: account.address.toString(),\n publicKey: account.publicKey?.toString(),\n }));\n };\n\n const connect: AptosWalletProvider['connect'] = async () => {\n const autoConnectedAccounts = getAutoConnectedAccount();\n\n if (autoConnectedAccounts) {\n return {\n addresses: autoConnectedAccounts,\n };\n }\n\n const connectMethod = features['aptos:connect']?.connect;\n\n assertDefined(connectMethod, 'connect method not found in wallet features');\n\n const result = await connectMethod();\n\n if (result.status !== UserResponseStatus.APPROVED) {\n throw new UserRejectedError({ action: 'connect' });\n }\n\n return {\n addresses: [\n {\n address: result.args.address.toString(),\n publicKey: result.args.publicKey?.toString(),\n },\n ],\n };\n };\n\n const disconnect: AptosWalletProvider['disconnect'] = async () => {\n const disconnectMethod = features['aptos:disconnect']?.disconnect;\n\n // this should never happen as we check for all required features in hasAllRequiredFeatures\n // but we'll assert it just in case\n assertDefined(\n disconnectMethod,\n 'disconnect method not found in wallet features'\n );\n\n return disconnectMethod();\n };\n\n const getActiveNetworkId: AptosWalletProvider['getActiveNetworkId'] =\n async () => {\n const aptosNetwork = await features['aptos:network']?.network();\n\n if (!aptosNetwork?.chainId) {\n return getActiveNetworkIdFromLastKnownRegistry({\n client: dynamicClient,\n walletProviderKey: key,\n });\n }\n\n return { networkId: aptosNetwork.chainId.toString() };\n };\n\n const getAptosClient: AptosWalletProvider['getAptosClient'] = async ({\n walletAccount,\n }) => {\n const activeNetworkData = await getActiveNetworkData(\n { walletAccount },\n dynamicClient\n );\n\n assertDefined(\n activeNetworkData.networkData,\n 'No active network data found'\n );\n\n const { rpcUrls, cluster } = activeNetworkData.networkData;\n\n const url = rpcUrls.http[0];\n\n assertDefined(url, 'No RPC URL found for active network');\n\n const network = cluster as Network;\n const config = new AptosConfig({ fullnode: url, network });\n\n return new Aptos(config);\n };\n\n const getConnectedAccount = async (): Promise<AccountInfo | undefined> => {\n const getAccountMethod = features['aptos:account']?.account;\n\n if (!getAccountMethod) {\n return undefined;\n }\n\n return getAccountMethod();\n };\n\n const getConnectedAddresses: AptosWalletProvider['getConnectedAddresses'] =\n async () => {\n const account = await getConnectedAccount();\n\n if (account) {\n return {\n addresses: [account.address.toString()],\n };\n }\n\n return {\n addresses: [],\n };\n };\n\n const signTransaction: AptosWalletProvider['signTransaction'] = async ({\n asFeePayer,\n transaction,\n walletAccount,\n }) => {\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const signTransactionMethod =\n features['aptos:signTransaction']?.signTransaction;\n\n assertDefined(\n signTransactionMethod,\n 'signTransaction method not found in wallet features'\n );\n\n const result = await signTransactionMethod(transaction, asFeePayer);\n\n if (result.status !== UserResponseStatus.APPROVED) {\n throw new UserRejectedError({ action: 'signTransaction' });\n }\n\n return {\n signature: result.args,\n };\n };\n\n const signAndSubmitTransaction: AptosWalletProvider['signAndSubmitTransaction'] =\n async ({ transaction, walletAccount }) => {\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const signAndSubmitMethod =\n features['aptos:signAndSubmitTransaction']?.signAndSubmitTransaction;\n\n assertDefined(\n signAndSubmitMethod,\n 'signAndSubmitTransaction method not found in wallet features'\n );\n\n const result = await signAndSubmitMethod({\n payload: transaction,\n });\n\n if (result.status !== UserResponseStatus.APPROVED) {\n throw new UserRejectedError({ action: 'signAndSubmitTransaction' });\n }\n\n return {\n hash: result.args.hash,\n };\n };\n\n const signMessage: AptosWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account not found');\n\n await assertWalletAccountSigningAvailability(\n { walletAccount },\n dynamicClient\n );\n\n const signMessageMethod = features['aptos:signMessage']?.signMessage;\n\n assertDefined(\n signMessageMethod,\n 'signMessage method not found in wallet features'\n );\n\n const nonce = Date.now().toString();\n const result = await signMessageMethod({\n message,\n nonce,\n });\n\n if (result.status !== UserResponseStatus.APPROVED) {\n throw new UserRejectedError({ action: 'signMessage' });\n }\n\n let publicKey: string | undefined =\n walletStandardWallet.accounts[0]?.publicKey?.toString();\n\n if (!publicKey) {\n const account = await getConnectedAccount();\n publicKey = account?.publicKey?.toString();\n }\n\n const signatureObj = {\n fullMessage: result.args.fullMessage,\n publicKey,\n signature: result.args.signature.toString(),\n };\n\n return { signature: JSON.stringify(signatureObj) };\n };\n\n const { cleanupEventEmitter, getEventEmitter } =\n createWalletProviderEventEmitter<VoidFunction>({\n removeEventListeners: ({ setupReturnValue }) => {\n assertDefined(setupReturnValue, 'Setup return value not defined');\n\n setupReturnValue();\n },\n\n setupEventListeners: ({\n handleAccountsChanged,\n handleNetworkChanged,\n }): VoidFunction => {\n const onAccountChange =\n features['aptos:onAccountChange']?.onAccountChange;\n\n if (onAccountChange) {\n void onAccountChange((account) => {\n handleAccountsChanged({\n addresses: account ? [account.address.toString()] : [],\n });\n });\n }\n\n const onNetworkChange =\n features['aptos:onNetworkChange']?.onNetworkChange;\n\n if (onNetworkChange) {\n void onNetworkChange((network) => {\n handleNetworkChanged({ networkId: network.chainId.toString() });\n });\n }\n\n return () => {};\n },\n\n supportedEvents: ['accountsChanged', 'networkChanged'],\n });\n\n const terminate: AptosWalletProvider['terminate'] = async () => {\n cleanupEventEmitter();\n };\n\n const walletProvider: AptosWalletProvider = {\n chain: 'APTOS',\n connect,\n disconnect,\n get events() {\n return getEventEmitter();\n },\n getActiveNetworkId,\n getAptosClient,\n getConnectedAddresses,\n groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),\n key,\n metadata: {\n displayName: walletStandardWallet.name,\n icon: walletStandardWallet.icon,\n },\n signAndSubmitTransaction,\n signMessage,\n signTransaction,\n terminate,\n transferAmount: (args) => aptosTransferAmount(args, dynamicClient),\n walletProviderType,\n };\n\n return walletProvider;\n};\n","import type {\n AptosWallet,\n MinimallyRequiredFeatures,\n} from '@aptos-labs/wallet-standard';\n\nconst REQUIRED_FEATURES: (keyof MinimallyRequiredFeatures)[] = [\n 'aptos:account',\n 'aptos:connect',\n 'aptos:disconnect',\n 'aptos:network',\n 'aptos:onAccountChange',\n 'aptos:onNetworkChange',\n 'aptos:signMessage',\n 'aptos:signTransaction',\n];\n\n/** @not-instrumented */\nexport const hasAllRequiredFeatures = (wallet: AptosWallet): boolean => {\n return Boolean(\n REQUIRED_FEATURES.every((feature) => feature in wallet.features)\n );\n};\n","import type { AptosWallet } from '@aptos-labs/wallet-standard';\nimport type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport {\n WalletProviderPriority,\n getWalletProviderRegistry,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { createWalletProviderFromAptosStandardWallet } from '../createWalletProviderFromAptosStandardWallet';\nimport { hasAllRequiredFeatures } from '../hasAllRequiredFeatures';\n\n/** @not-instrumented */\nexport const registerAptosStandardWallet = (\n wallet: AptosWallet,\n client: DynamicClient\n) => {\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n if (hasAllRequiredFeatures(wallet)) {\n const walletProvider = createWalletProviderFromAptosStandardWallet({\n dynamicClient: client,\n walletStandardWallet: wallet,\n });\n\n walletProviderRegistry.register({\n priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,\n walletProvider,\n });\n }\n};\n","import type { AptosWallet } from '@aptos-labs/wallet-standard';\nimport { getAptosWallets } from '@aptos-labs/wallet-standard';\nimport {\n getDefaultClient,\n hasExtension,\n registerExtension,\n} from '@dynamic-labs-sdk/client/core';\n\nimport { registerAptosNetworkProviderBuilder } from '../../registerAptosNetworkProviderBuilder';\nimport { registerAptosStandardWallet } from '../utils/registerAptosStandardWallet';\n\nexport const APTOS_WALLET_STANDARD_EXTENSION_KEY = 'aptosWalletStandard';\n\n/**\n * Adds the Aptos Wallet Standard extension to the Dynamic client.\n *\n * This extension enables integration with wallets that implement the Aptos Wallet Standard (AIP-62),\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 *\n * @returns A function that can be used to remove Aptos Wallet Standard register event listener that was added.\n * @not-instrumented\n */\nexport const addAptosWalletStandardExtension = (\n client = getDefaultClient()\n): VoidFunction => {\n if (\n hasExtension({ extensionKey: APTOS_WALLET_STANDARD_EXTENSION_KEY }, client)\n ) {\n return () => {\n // noop\n };\n }\n\n registerExtension(\n { extensionKey: APTOS_WALLET_STANDARD_EXTENSION_KEY },\n client\n );\n\n registerAptosNetworkProviderBuilder(client);\n\n const { aptosWallets, on } = getAptosWallets();\n\n // Listen for new wallet registrations/announcements\n const removeListener = on('register', (wallet) => {\n registerAptosStandardWallet(wallet as AptosWallet, client);\n });\n\n // Register all wallets that are already registered/announced in the browser\n for (const wallet of aptosWallets) {\n registerAptosStandardWallet(wallet, client);\n }\n\n return removeListener;\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","names":["isAptosWalletProvider","NotAptosProviderError","isAptosWalletProvider","NotAptosProviderError","isAptosWalletProvider","NotAptosProviderError","packageName","packageVersion"],"sources":["../src/addAptosExtension/addAptosExtension.ts","../src/getAptosClient/getAptosClient.ts","../src/isAptosNetworkProvider/isAptosNetworkProvider.ts","../src/signAndSubmitTransaction/signAndSubmitTransaction.ts","../src/signTransaction/signTransaction.ts","../src/exports/index.ts"],"sourcesContent":["import { getDefaultClient } from '@dynamic-labs-sdk/client/core';\n\nimport { addAptosWalletStandardExtension } from '../walletStandard/addAptosWalletStandardExtension';\n\n/**\n * Adds the Aptos extension to the Dynamic client.\n *\n * This is a convenience function that adds support for all of Aptos wallets that support the Aptos Wallet Standard,\n * like Petra, Backpack, OKX, Nightly, and more.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @not-instrumented\n */\nexport const addAptosExtension = (client = getDefaultClient()): void => {\n addAptosWalletStandardExtension(client);\n};\n","import {\n getDefaultClient,\n getWalletProviderFromWalletAccount,\n} from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosWalletAccount } from '../AptosWalletAccount.types';\nimport type { AptosClient } from '../AptosWalletProvider.types';\nimport { NotAptosProviderError } from '../errors/NotAptosProviderError';\nimport { isAptosWalletProvider } from '../isAptosWalletProvider';\n\ntype GetAptosClientParams = {\n walletAccount: AptosWalletAccount;\n};\n\n/**\n * Retrieves an Aptos client from a wallet account.\n *\n * @param params.walletAccount - The wallet account to get the Aptos client for.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n *\n * @returns A promise that resolves to an AptosClient instance\n * @throws NotAptosProviderError If the wallet account's provider is not an APTOS provider\n * @not-instrumented\n */\nexport const getAptosClient = async (\n { walletAccount }: GetAptosClientParams,\n client = getDefaultClient()\n): Promise<AptosClient> => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isAptosWalletProvider(provider)) {\n throw new NotAptosProviderError({ providerKey: provider.key });\n }\n\n return provider.getAptosClient({ walletAccount });\n};\n","import type { NetworkProvider } from '@dynamic-labs-sdk/client';\n\nimport type { AptosNetworkProvider } from '../AptosNetworkProvider.types';\n\n/** @not-instrumented */\nexport const isAptosNetworkProvider = (\n networkProvider: NetworkProvider\n): networkProvider is AptosNetworkProvider => networkProvider.chain === 'APTOS';\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosWalletAccount } from '../AptosWalletAccount.types';\nimport type { AptosTransactionPayload } from '../AptosWalletProvider.types';\nimport { NotAptosProviderError } from '../errors/NotAptosProviderError';\nimport { isAptosWalletProvider } from '../isAptosWalletProvider';\n\ntype SignAndSubmitTransactionParams = {\n transaction: AptosTransactionPayload;\n walletAccount: AptosWalletAccount;\n};\n\n/**\n * Signs and submits an Aptos transaction\n *\n * @param params.transaction - The transaction payload to sign and submit\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 *\n * @returns An object containing the transaction hash\n * @not-instrumented\n */\nexport const signAndSubmitTransaction = async (\n { transaction, walletAccount }: SignAndSubmitTransactionParams,\n client = getDefaultClient()\n): Promise<{ hash: string }> => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isAptosWalletProvider(provider)) {\n throw new NotAptosProviderError({ providerKey: provider.key });\n }\n\n return provider.signAndSubmitTransaction({ transaction, walletAccount });\n};\n","import type { AnyRawTransaction } from '@aptos-labs/ts-sdk';\nimport { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { getWalletProviderFromWalletAccount } from '@dynamic-labs-sdk/client/core';\n\nimport type { AptosWalletAccount } from '../AptosWalletAccount.types';\nimport type { AptosSignTransactionOutput } from '../AptosWalletProvider.types';\nimport { NotAptosProviderError } from '../errors/NotAptosProviderError';\nimport { isAptosWalletProvider } from '../isAptosWalletProvider';\n\ntype SignTransactionParams = {\n asFeePayer?: boolean;\n transaction: AnyRawTransaction;\n walletAccount: AptosWalletAccount;\n};\n\n/**\n * Signs an Aptos transaction\n * @param params.transaction - The transaction to sign\n * @param params.walletAccount - The wallet account to sign the transaction with\n * @param params.asFeePayer - Whether to sign as the fee payer\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n *\n * @returns An object containing the signature output\n * @not-instrumented\n */\nexport const signTransaction = async (\n { asFeePayer, transaction, walletAccount }: SignTransactionParams,\n client = getDefaultClient()\n): Promise<{ signature: AptosSignTransactionOutput }> => {\n const provider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n if (!isAptosWalletProvider(provider)) {\n throw new NotAptosProviderError({ providerKey: provider.key });\n }\n\n return provider.signTransaction({ asFeePayer, transaction, walletAccount });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addAptosExtension } from '../addAptosExtension';\nexport type { AptosNetworkProvider } from '../AptosNetworkProvider.types';\nexport type { AptosWalletAccount } from '../AptosWalletAccount.types';\nexport type {\n AptosClient,\n AptosSignTransactionOutput,\n AptosTransaction,\n AptosTransactionPayload,\n} from '../AptosWalletProvider.types';\nexport { NotAptosProviderError } from '../errors/NotAptosProviderError';\nexport { getAptosClient } from '../getAptosClient';\nexport { isAptosNetworkProvider } from '../isAptosNetworkProvider';\nexport { isAptosWalletAccount } from '../isAptosWalletAccount';\nexport { isAptosWalletProvider } from '../isAptosWalletProvider';\nexport { signAndSubmitTransaction } from '../signAndSubmitTransaction';\nexport { signTransaction } from '../signTransaction';\n"],"mappings":";;;;;;;;;;;;;;;AAaA,MAAa,qBAAqB,8DAA2B,KAAW;AACtE,yEAAgC,OAAO;;;;;;;;;;;;;;;ACUzC,MAAa,iBAAiB,OAC5B,EAAE,iBACF,8DAA2B,KACF;CACzB,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACA,8DAAsB,SAAS,CAClC,OAAM,IAAIC,8DAAsB,EAAE,aAAa,SAAS,KAAK,CAAC;AAGhE,QAAO,SAAS,eAAe,EAAE,eAAe,CAAC;;;;;;AClCnD,MAAa,0BACX,oBAC4C,gBAAgB,UAAU;;;;;;;;;;;;;;ACgBxE,MAAa,2BAA2B,OACtC,EAAE,aAAa,iBACf,yDAA2B,KACG;CAC9B,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACC,8DAAsB,SAAS,CAClC,OAAM,IAAIC,8DAAsB,EAAE,aAAa,SAAS,KAAK,CAAC;AAGhE,QAAO,SAAS,yBAAyB;EAAE;EAAa;EAAe,CAAC;;;;;;;;;;;;;;;ACb1E,MAAa,kBAAkB,OAC7B,EAAE,YAAY,aAAa,iBAC3B,yDAA2B,KAC4B;CACvD,MAAM,iFACJ,EACE,eACD,EACD,OACD;AAED,KAAI,CAACC,8DAAsB,SAAS,CAClC,OAAM,IAAIC,8DAAsB,EAAE,aAAa,SAAS,KAAK,CAAC;AAGhE,QAAO,SAAS,gBAAgB;EAAE;EAAY;EAAa;EAAe,CAAC;;;;;mEClCxDC,8CAAaC,gDAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"walletStandard.cjs.js","names":["packageName","packageVersion"],"sources":["../src/exports/walletStandard.ts"],"sourcesContent":["import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport { addAptosWalletStandardExtension } from '../walletStandard/addAptosWalletStandardExtension';\n"],"mappings":";;;;mEAMqBA,8CAAaC,gDAAe"}