@dynamic-labs-sdk/solana 1.12.2 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/addSolanaExtension/addSolanaExtension.d.ts +1 -1
  2. package/dist/{addSolanaWalletStandardExtension-D0L0embm.cjs → addSolanaWalletStandardExtension-BzDR-mwZ.cjs} +5 -5
  3. package/dist/addSolanaWalletStandardExtension-BzDR-mwZ.cjs.map +1 -0
  4. package/dist/{addSolanaWalletStandardExtension-BppplF4g.esm.js → addSolanaWalletStandardExtension-muBD0CqA.esm.js} +5 -5
  5. package/dist/addSolanaWalletStandardExtension-muBD0CqA.esm.js.map +1 -0
  6. package/dist/{addWaasSolanaExtension-DvnScy5_.cjs → addWaasSolanaExtension-B3cnE1Do.cjs} +5 -5
  7. package/dist/addWaasSolanaExtension-B3cnE1Do.cjs.map +1 -0
  8. package/dist/{addWaasSolanaExtension-CkxAujBp.esm.js → addWaasSolanaExtension-CfpS9qA-.esm.js} +5 -5
  9. package/dist/addWaasSolanaExtension-CfpS9qA-.esm.js.map +1 -0
  10. package/dist/{assertBufferAvailable-D8lcGtyy.cjs → assertBufferAvailable-BPIt9Mmr.cjs} +2 -2
  11. package/dist/{assertBufferAvailable-D8lcGtyy.cjs.map → assertBufferAvailable-BPIt9Mmr.cjs.map} +1 -1
  12. package/dist/{assertBufferAvailable-DEfVz5ER.esm.js → assertBufferAvailable-b4xOlERy.esm.js} +2 -2
  13. package/dist/{assertBufferAvailable-DEfVz5ER.esm.js.map → assertBufferAvailable-b4xOlERy.esm.js.map} +1 -1
  14. package/dist/{createWalletProviderFromSolanaStandardWallet-_N2BYMk7.esm.js → createWalletProviderFromSolanaStandardWallet-C2uts_PR.esm.js} +5 -5
  15. package/dist/createWalletProviderFromSolanaStandardWallet-C2uts_PR.esm.js.map +1 -0
  16. package/dist/{createWalletProviderFromSolanaStandardWallet-lbccaY-g.cjs → createWalletProviderFromSolanaStandardWallet-CU-6Z8Sx.cjs} +5 -5
  17. package/dist/createWalletProviderFromSolanaStandardWallet-CU-6Z8Sx.cjs.map +1 -0
  18. package/dist/getSolanaConnection/getSolanaConnection.d.ts +1 -1
  19. package/dist/index.cjs +25 -25
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.esm.js +25 -25
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/isSolanaGasSponsorshipEnabled/isSolanaGasSponsorshipEnabled.d.ts +1 -1
  24. package/dist/isSolanaNetworkProvider/isSolanaNetworkProvider.d.ts +1 -1
  25. package/dist/isSolanaWalletAccount/isSolanaWalletAccount.d.ts +1 -1
  26. package/dist/isSolanaWalletProvider/isSolanaWalletProvider.d.ts +1 -1
  27. package/dist/isSolanaWalletProvider/isSolanaWalletProvider.d.ts.map +1 -1
  28. package/dist/metamask/connectAndVerifyWithMetaMaskUriSolana/connectAndVerifyWithMetaMaskUriSolana.d.ts +1 -1
  29. package/dist/metamask/connectWithMetaMaskUriSolana/connectWithMetaMaskUriSolana.d.ts +1 -1
  30. package/dist/metamask/createMetaMaskSolanaWalletProvider/createMetaMaskSolanaWalletProvider.d.ts +1 -1
  31. package/dist/metamask/getMetaMaskSolanaExtensionWalletProviderKey/getMetaMaskSolanaExtensionWalletProviderKey.d.ts +1 -1
  32. package/dist/metamask/utils/createMetaMaskSolanaController/createMetaMaskSolanaController.d.ts +1 -1
  33. package/dist/metamask/utils/getOrCreateMetaMaskSolanaController/getOrCreateMetaMaskSolanaController.d.ts +1 -1
  34. package/dist/metamask/utils/getSolanaNetworkFromCluster/getSolanaNetworkFromCluster.d.ts +1 -1
  35. package/dist/metamask/utils/getSupportedNetworks/getSupportedNetworks.d.ts +1 -1
  36. package/dist/metamask.cjs +10 -10
  37. package/dist/metamask.cjs.map +1 -1
  38. package/dist/metamask.esm.js +10 -10
  39. package/dist/metamask.esm.js.map +1 -1
  40. package/dist/phantomRedirect/addPhantomRedirectSolanaExtension/addPhantomRedirectSolanaExtension.d.ts +1 -1
  41. package/dist/phantomRedirect/completePhantomRedirect/completePhantomRedirect.d.ts +1 -1
  42. package/dist/phantomRedirect/createPhantomRedirectWalletProvider/createPhantomRedirectWalletProvider.d.ts +1 -1
  43. package/dist/phantomRedirect/detectPhantomRedirect/detectPhantomRedirect.d.ts +1 -1
  44. package/dist/phantomRedirect/utils/broadcastPhantomEvent/broadcastPhantomEvent.d.ts +1 -1
  45. package/dist/phantomRedirect/utils/buildPhantomDeepLink/buildPhantomDeepLink.d.ts +1 -1
  46. package/dist/phantomRedirect/utils/cleanPhantomParamsFromUrl/cleanPhantomParamsFromUrl.d.ts +1 -1
  47. package/dist/phantomRedirect/utils/crypto/createNaClSharedSecret/createNaClSharedSecret.d.ts +1 -1
  48. package/dist/phantomRedirect/utils/crypto/decryptPayload/decryptPayload.d.ts +1 -1
  49. package/dist/phantomRedirect/utils/crypto/encryptPayload/encryptPayload.d.ts +1 -1
  50. package/dist/phantomRedirect/utils/crypto/generateNaClKeyPair/generateNaClKeyPair.d.ts +1 -1
  51. package/dist/phantomRedirect/utils/getPhantomCluster/getPhantomCluster.d.ts +1 -1
  52. package/dist/phantomRedirect/utils/listenForPhantomBroadcast/listenForPhantomBroadcast.d.ts +1 -1
  53. package/dist/phantomRedirect/utils/parsePhantomRedirectParams/parsePhantomRedirectParams.d.ts +1 -1
  54. package/dist/registerSolanaNetworkProviderBuilder/registerSolanaNetworkProviderBuilder.d.ts +1 -1
  55. package/dist/registerSolanaNetworkProviderBuilder/registerSolanaNetworkProviderBuilder.d.ts.map +1 -1
  56. package/dist/signAllTransactions/signAllTransactions.d.ts +1 -1
  57. package/dist/signAndSendSponsoredTransaction/signAndSendSponsoredTransaction.d.ts +1 -1
  58. package/dist/signAndSendTransaction/signAndSendTransaction.d.ts +1 -1
  59. package/dist/signTransaction/signTransaction.d.ts +1 -1
  60. package/dist/simulateSolanaTransaction/simulateSolanaTransaction.d.ts +1 -1
  61. package/dist/{solanaTransferAmount-Dfqvk7NH.cjs → solanaTransferAmount-ABi6gq_z.cjs} +14 -14
  62. package/dist/solanaTransferAmount-ABi6gq_z.cjs.map +1 -0
  63. package/dist/{solanaTransferAmount-BqExL4wh.esm.js → solanaTransferAmount-oEHHu9WL.esm.js} +14 -14
  64. package/dist/solanaTransferAmount-oEHHu9WL.esm.js.map +1 -0
  65. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  66. package/dist/utils/assertBufferAvailable/assertBufferAvailable.d.ts +1 -1
  67. package/dist/utils/calculateSolanaTransactionFee/calculateSolanaTransactionFee.d.ts +1 -1
  68. package/dist/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.d.ts +1 -1
  69. package/dist/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.d.ts.map +1 -1
  70. package/dist/utils/fetchSolBalance/fetchSolBalance.d.ts +1 -1
  71. package/dist/utils/fetchSolBalance/fetchSolBalance.d.ts.map +1 -1
  72. package/dist/utils/isVersionedTransaction/isVersionedTransaction.d.ts +1 -1
  73. package/dist/utils/isVersionedTransaction/isVersionedTransaction.d.ts.map +1 -1
  74. package/dist/utils/solanaConfirmTransaction/solanaConfirmTransaction.d.ts +1 -1
  75. package/dist/utils/solanaExecuteSwapTransaction/solanaExecuteSwapTransaction.d.ts +1 -1
  76. package/dist/utils/solanaTransferAmount/solanaTransferAmount.d.ts +1 -1
  77. package/dist/waas/addWaasSolanaExtension/addWaasSolanaExtension.d.ts +1 -1
  78. package/dist/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts +1 -1
  79. package/dist/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.d.ts.map +1 -1
  80. package/dist/waas/utils/sponsorTransaction/sponsorTransaction.d.ts +1 -1
  81. package/dist/waas.cjs +2 -2
  82. package/dist/waas.esm.js +2 -2
  83. package/dist/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.d.ts +1 -1
  84. package/dist/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.d.ts.map +1 -1
  85. package/dist/walletConnect/connectAndVerifyWithWalletConnectSolana/connectAndVerifyWithWalletConnectSolana.d.ts +1 -1
  86. package/dist/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.d.ts +1 -1
  87. package/dist/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.d.ts.map +1 -1
  88. package/dist/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.d.ts +1 -1
  89. package/dist/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.d.ts.map +1 -1
  90. package/dist/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.d.ts +1 -1
  91. package/dist/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.d.ts.map +1 -1
  92. package/dist/walletConnect.cjs +7 -7
  93. package/dist/walletConnect.cjs.map +1 -1
  94. package/dist/walletConnect.esm.js +7 -7
  95. package/dist/walletConnect.esm.js.map +1 -1
  96. package/dist/walletStandard/addSolanaWalletStandardExtension/addSolanaWalletStandardExtension.d.ts +1 -1
  97. package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts +1 -1
  98. package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/createWalletProviderFromSolanaStandardWallet.d.ts.map +1 -1
  99. package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/getActiveNetworkId.d.ts +1 -1
  100. package/dist/walletStandard/utils/createWalletProviderFromSolanaStandardWallet/getActiveNetworkId/getActiveNetworkId.d.ts.map +1 -1
  101. package/dist/walletStandard/utils/getActiveNetworkCluster/getActiveNetworkCluster.d.ts +1 -1
  102. package/dist/walletStandard/utils/getActiveNetworkCluster/getActiveNetworkCluster.d.ts.map +1 -1
  103. package/dist/walletStandard/utils/getFeaturesForSolanaStandardWallet/getFeaturesForSolanaStandardWallet.d.ts +1 -1
  104. package/dist/walletStandard/utils/getFeaturesForSolanaStandardWallet/getFeaturesForSolanaStandardWallet.d.ts.map +1 -1
  105. package/dist/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.d.ts +1 -1
  106. package/dist/walletStandard/utils/hasAllRequiredFeatures/hasAllRequiredFeatures.d.ts.map +1 -1
  107. package/dist/walletStandard.cjs +3 -3
  108. package/dist/walletStandard.esm.js +3 -3
  109. package/package.json +5 -5
  110. package/dist/addSolanaWalletStandardExtension-BppplF4g.esm.js.map +0 -1
  111. package/dist/addSolanaWalletStandardExtension-D0L0embm.cjs.map +0 -1
  112. package/dist/addWaasSolanaExtension-CkxAujBp.esm.js.map +0 -1
  113. package/dist/addWaasSolanaExtension-DvnScy5_.cjs.map +0 -1
  114. package/dist/createWalletProviderFromSolanaStandardWallet-_N2BYMk7.esm.js.map +0 -1
  115. package/dist/createWalletProviderFromSolanaStandardWallet-lbccaY-g.cjs.map +0 -1
  116. package/dist/solanaTransferAmount-BqExL4wh.esm.js.map +0 -1
  117. package/dist/solanaTransferAmount-Dfqvk7NH.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Asserts that the global `Buffer` is available. Throws a
3
3
  * `MissingBufferPolyfillError` with actionable guidance if it is not.
4
- * @not-instrumented
4
+ * @notInstrumented
5
5
  */
6
6
  export declare const assertBufferAvailable: () => void;
7
7
  //# sourceMappingURL=assertBufferAvailable.d.ts.map
@@ -18,7 +18,7 @@ type CalculateSolanaTransactionFeeParams = {
18
18
  * @param params.nativeTokenPriceUsd - Optional USD price of SOL for fee conversion.
19
19
  * @returns Fee data in lamports and human-readable SOL format.
20
20
  * @throws {FeeEstimationFailedError} If fee retrieval fails after retries.
21
- * @not-instrumented
21
+ * @notInstrumented
22
22
  */
23
23
  export declare const calculateSolanaTransactionFee: ({ transaction, networkData, nativeTokenPriceUsd, }: CalculateSolanaTransactionFeeParams) => Promise<SolanaTransactionFeeData>;
24
24
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { NetworkData } from '@dynamic-labs-sdk/client';
2
2
  import type { SolanaNetworkProvider } from '../../SolanaNetworkProvider.types';
3
- /** @not-instrumented */
3
+ /** @notInstrumented */
4
4
  export declare const createSolanaNetworkProvider: (networkData: NetworkData) => SolanaNetworkProvider;
5
5
  //# sourceMappingURL=createSolanaNetworkProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSolanaNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,wBAAwB;AACxB,eAAO,MAAM,2BAA2B,gBACzB,WAAW,KACvB,qBAUD,CAAC"}
1
+ {"version":3,"file":"createSolanaNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/utils/createSolanaNetworkProvider/createSolanaNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,uBAAuB;AACvB,eAAO,MAAM,2BAA2B,gBACzB,WAAW,KACvB,qBAUD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { NetworkData } from '@dynamic-labs-sdk/client';
2
- /** @not-instrumented */
2
+ /** @notInstrumented */
3
3
  export declare const fetchSolBalance: ({ address, networkData, }: {
4
4
  address: string;
5
5
  networkData: NetworkData;
@@ -1 +1 @@
1
- {"version":3,"file":"fetchSolBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/fetchSolBalance/fetchSolBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wBAAwB;AACxB,eAAO,MAAM,eAAe,8BAGzB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAgBxB,CAAC"}
1
+ {"version":3,"file":"fetchSolBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/fetchSolBalance/fetchSolBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,uBAAuB;AACvB,eAAO,MAAM,eAAe,8BAGzB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAgBxB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { Transaction, VersionedTransaction } from '@solana/web3.js';
2
- /** @not-instrumented */
2
+ /** @notInstrumented */
3
3
  export declare const isVersionedTransaction: (transaction: VersionedTransaction | Transaction) => transaction is VersionedTransaction;
4
4
  //# sourceMappingURL=isVersionedTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isVersionedTransaction.d.ts","sourceRoot":"","sources":["../../../src/utils/isVersionedTransaction/isVersionedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,wBAAwB;AACxB,eAAO,MAAM,sBAAsB,gBACpB,oBAAoB,GAAG,WAAW,KAC9C,WAAW,IAAI,oBAAwD,CAAC"}
1
+ {"version":3,"file":"isVersionedTransaction.d.ts","sourceRoot":"","sources":["../../../src/utils/isVersionedTransaction/isVersionedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,uBAAuB;AACvB,eAAO,MAAM,sBAAsB,gBACpB,oBAAoB,GAAG,WAAW,KAC9C,WAAW,IAAI,oBAAwD,CAAC"}
@@ -6,7 +6,7 @@ import type { ConfirmTransactionParams } from '@dynamic-labs-sdk/client/core';
6
6
  * @param params.transactionHash - The transaction signature to wait for.
7
7
  * @param params.walletAccount - The Solana wallet account used to resolve the active network.
8
8
  * @param client - The Dynamic client instance.
9
- * @not-instrumented
9
+ * @notInstrumented
10
10
  */
11
11
  export declare const solanaConfirmTransaction: ({ transactionHash, walletAccount }: ConfirmTransactionParams, client: DynamicClient) => Promise<void>;
12
12
  //# sourceMappingURL=solanaConfirmTransaction.d.ts.map
@@ -16,7 +16,7 @@ import type { ExecuteSwapTransactionParams, ExecuteSwapTransactionResult } from
16
16
  * @param params.sponsorshipMode - `'auto'` (default) sponsors when eligible; `'off'` never sponsors.
17
17
  * @param client - The Dynamic client instance.
18
18
  * @returns The transaction hash (signature).
19
- * @not-instrumented
19
+ * @notInstrumented
20
20
  */
21
21
  export declare const solanaExecuteSwapTransaction: ({ onStepChange, signingPayload, sponsorshipMode, walletAccount, }: ExecuteSwapTransactionParams, client: DynamicClient) => Promise<ExecuteSwapTransactionResult>;
22
22
  //# sourceMappingURL=solanaExecuteSwapTransaction.d.ts.map
@@ -7,7 +7,7 @@ import type { TransferAmountParams } from '@dynamic-labs-sdk/client/core';
7
7
  * For SPL tokens, derives associated token accounts, creates the recipient
8
8
  * ATA if needed, and builds a `transferChecked` instruction. Supports both
9
9
  * standard SPL tokens and Token-2022 tokens by detecting the mint's program.
10
- * @not-instrumented
10
+ * @notInstrumented
11
11
  */
12
12
  export declare const solanaTransferAmount: ({ amount, recipient, token, walletAccount }: TransferAmountParams, client: DynamicClient) => Promise<{
13
13
  transactionHash: string;
@@ -6,7 +6,7 @@ export declare const WAAS_SOLANA_EXTENSION_KEY = "waasSolana";
6
6
  * allowing users to have wallets managed by Dynamic's infrastructure.
7
7
  *
8
8
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
9
- * @not-instrumented
9
+ * @notInstrumented
10
10
  */
11
11
  export declare const addWaasSolanaExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
12
12
  //# sourceMappingURL=addWaasSolanaExtension.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type DynamicClient } from '@dynamic-labs-sdk/client';
2
2
  import type { WaasSolanaWalletProvider } from '../../WaasSolanaWalletProvider.types';
3
- /** @not-instrumented */
3
+ /** @notInstrumented */
4
4
  export declare const createWalletProviderForWaasSolana: (sdkClient: DynamicClient) => WaasSolanaWalletProvider;
5
5
  //# sourceMappingURL=createWalletProviderForWaasSolana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletProviderForWaasSolana.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAsBlC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGrF,wBAAwB;AACxB,eAAO,MAAM,iCAAiC,cACjC,aAAa,KACvB,wBAyLF,CAAC"}
1
+ {"version":3,"file":"createWalletProviderForWaasSolana.d.ts","sourceRoot":"","sources":["../../../../src/waas/utils/createWalletProviderForWaasSolana/createWalletProviderForWaasSolana.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAsBlC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGrF,uBAAuB;AACvB,eAAO,MAAM,iCAAiC,cACjC,aAAa,KACvB,wBAyLF,CAAC"}
@@ -16,7 +16,7 @@ type SponsorTransactionParams = {
16
16
  * @param client - The Dynamic client instance used for API calls and state access
17
17
  * @returns The sponsored transaction as a VersionedTransaction
18
18
  * @throws {SponsorTransactionError} If the API response is missing the transaction field
19
- * @not-instrumented
19
+ * @notInstrumented
20
20
  */
21
21
  export declare const sponsorTransaction: ({ transaction }: SponsorTransactionParams, client: DynamicClient) => Promise<VersionedTransaction>;
22
22
  export {};
package/dist/waas.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CbDLau6x.cjs');
2
- const require_solanaTransferAmount = require('./solanaTransferAmount-Dfqvk7NH.cjs');
3
- const require_addWaasSolanaExtension = require('./addWaasSolanaExtension-DvnScy5_.cjs');
2
+ const require_solanaTransferAmount = require('./solanaTransferAmount-ABi6gq_z.cjs');
3
+ const require_addWaasSolanaExtension = require('./addWaasSolanaExtension-B3cnE1Do.cjs');
4
4
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
5
5
 
6
6
  //#region src/exports/waas.ts
package/dist/waas.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import { f as name, p as version } from "./solanaTransferAmount-BqExL4wh.esm.js";
2
- import { t as addWaasSolanaExtension } from "./addWaasSolanaExtension-CkxAujBp.esm.js";
1
+ import { f as name, p as version } from "./solanaTransferAmount-oEHHu9WL.esm.js";
2
+ import { t as addWaasSolanaExtension } from "./addWaasSolanaExtension-CfpS9qA-.esm.js";
3
3
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
4
4
 
5
5
  //#region src/exports/waas.ts
@@ -1,4 +1,4 @@
1
1
  export declare const WALLET_CONNECT_SOLANA_EXTENSION_KEY = "walletConnectSolana";
2
- /** @not-instrumented */
2
+ /** @notInstrumented */
3
3
  export declare const addWalletConnectSolanaExtension: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<void>;
4
4
  //# sourceMappingURL=addWalletConnectSolanaExtension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addWalletConnectSolanaExtension.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AAEzE,wBAAwB;AACxB,eAAO,MAAM,+BAA+B,8EAmB3C,CAAC"}
1
+ {"version":3,"file":"addWalletConnectSolanaExtension.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mCAAmC,wBAAwB,CAAC;AAEzE,uBAAuB;AACvB,eAAO,MAAM,+BAA+B,8EAmB3C,CAAC"}
@@ -16,7 +16,7 @@ import type { WalletConnectConnectionResult } from '@dynamic-labs-sdk/wallet-con
16
16
  *
17
17
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
18
18
  * @returns A promise that resolves to the connected and verified wallet account.
19
- * @not-instrumented
19
+ * @notInstrumented
20
20
  */
21
21
  export declare const connectAndVerifyWithWalletConnectSolana: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<WalletConnectConnectionResult>;
22
22
  //# sourceMappingURL=connectAndVerifyWithWalletConnectSolana.d.ts.map
@@ -5,7 +5,7 @@ type ConnectWithWalletConnectSolanaParams = {
5
5
  */
6
6
  addToDynamicWalletAccounts?: boolean;
7
7
  };
8
- /** @not-instrumented */
8
+ /** @notInstrumented */
9
9
  export declare const connectWithWalletConnectSolana: ({ addToDynamicWalletAccounts, }?: ConnectWithWalletConnectSolanaParams, client?: import("@dynamic-labs-sdk/client").DynamicClient) => Promise<WalletConnectConnectionResult>;
10
10
  export {};
11
11
  //# sourceMappingURL=connectWithWalletConnectSolana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectWithWalletConnectSolana.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAStF,KAAK,oCAAoC,GAAG;IAC1C;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,wBAAwB;AACxB,eAAO,MAAM,8BAA8B,qCAGtC,oCAAoC,gEAEtC,OAAO,CAAC,6BAA6B,CAmEvC,CAAC"}
1
+ {"version":3,"file":"connectWithWalletConnectSolana.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAStF,KAAK,oCAAoC,GAAG;IAC1C;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,8BAA8B,qCAGtC,oCAAoC,gEAEtC,OAAO,CAAC,6BAA6B,CAmEvC,CAAC"}
@@ -3,7 +3,7 @@ import type { WalletConnectSolanaWalletProvider } from '../walletConnectSolanaWa
3
3
  type createWalletProviderFromWalletConnectSolanaSessionParams = {
4
4
  sessionTopic: string;
5
5
  };
6
- /** @not-instrumented */
6
+ /** @notInstrumented */
7
7
  export declare const createWalletProviderFromWalletConnectSolanaSession: ({ sessionTopic }: createWalletProviderFromWalletConnectSolanaSessionParams, client: DynamicClient) => Promise<WalletConnectSolanaWalletProvider>;
8
8
  export {};
9
9
  //# sourceMappingURL=createWalletProviderFromWalletConnectSolanaSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletProviderFromWalletConnectSolanaSession.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AA8BlC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAOpG,KAAK,wDAAwD,GAAG;IAC9D,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAaF,wBAAwB;AACxB,eAAO,MAAM,kDAAkD,qBAC3C,wDAAwD,UAClE,aAAa,KACpB,OAAO,CAAC,iCAAiC,CAuS3C,CAAC"}
1
+ {"version":3,"file":"createWalletProviderFromWalletConnectSolanaSession.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AA8BlC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAOpG,KAAK,wDAAwD,GAAG;IAC9D,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAaF,uBAAuB;AACvB,eAAO,MAAM,kDAAkD,qBAC3C,wDAAwD,UAClE,aAAa,KACpB,OAAO,CAAC,iCAAiC,CAuS3C,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
- /** @not-instrumented */
2
+ /** @notInstrumented */
3
3
  export declare const recoverSolanaWalletConnectWalletProviders: (client: DynamicClient) => Promise<void>;
4
4
  //# sourceMappingURL=recoverSolanaWalletConnectWalletProviders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recoverSolanaWalletConnectWalletProviders.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAU9D,wBAAwB;AACxB,eAAO,MAAM,yCAAyC,WAC5C,aAAa,kBAmCtB,CAAC"}
1
+ {"version":3,"file":"recoverSolanaWalletConnectWalletProviders.d.ts","sourceRoot":"","sources":["../../../src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAU9D,uBAAuB;AACvB,eAAO,MAAM,yCAAyC,WAC5C,aAAa,kBAmCtB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CbDLau6x.cjs');
2
- const require_solanaTransferAmount = require('./solanaTransferAmount-Dfqvk7NH.cjs');
3
- const require_assertBufferAvailable = require('./assertBufferAvailable-D8lcGtyy.cjs');
2
+ const require_solanaTransferAmount = require('./solanaTransferAmount-ABi6gq_z.cjs');
3
+ const require_assertBufferAvailable = require('./assertBufferAvailable-BPIt9Mmr.cjs');
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");
@@ -23,7 +23,7 @@ const methodsThatRequireUserAction = [
23
23
  "solana_signAllTransactions",
24
24
  "solana_signAndSendTransaction"
25
25
  ];
26
- /** @not-instrumented */
26
+ /** @notInstrumented */
27
27
  const createWalletProviderFromWalletConnectSolanaSession = async ({ sessionTopic }, client) => {
28
28
  const signClient = await (0, _dynamic_labs_sdk_wallet_connect_core.getSignClient)(client);
29
29
  const getSession = () => {
@@ -191,7 +191,7 @@ const createWalletProviderFromWalletConnectSolanaSession = async ({ sessionTopic
191
191
 
192
192
  //#endregion
193
193
  //#region src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts
194
- /** @not-instrumented */
194
+ /** @notInstrumented */
195
195
  const recoverSolanaWalletConnectWalletProviders = async (client) => {
196
196
  await (0, _dynamic_labs_sdk_client_core.waitForProjectSettings)(client);
197
197
  /**
@@ -213,7 +213,7 @@ const recoverSolanaWalletConnectWalletProviders = async (client) => {
213
213
  //#endregion
214
214
  //#region src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts
215
215
  const WALLET_CONNECT_SOLANA_EXTENSION_KEY = "walletConnectSolana";
216
- /** @not-instrumented */
216
+ /** @notInstrumented */
217
217
  const addWalletConnectSolanaExtension = async (client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
218
218
  if ((0, _dynamic_labs_sdk_client.hasExtension)({ extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY }, client)) return;
219
219
  require_assertBufferAvailable.assertBufferAvailable();
@@ -241,7 +241,7 @@ const solanaMethods = [
241
241
 
242
242
  //#endregion
243
243
  //#region src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts
244
- /** @not-instrumented */
244
+ /** @notInstrumented */
245
245
  const connectWithWalletConnectSolana = async ({ addToDynamicWalletAccounts = true } = {}, client = (0, _dynamic_labs_sdk_client.getDefaultClient)()) => {
246
246
  const signClient = await (0, _dynamic_labs_sdk_wallet_connect_core.getSignClient)(client);
247
247
  (0, _dynamic_labs_sdk_client_core.assertDefined)(client.projectSettings, "Project settings unavailable");
@@ -308,7 +308,7 @@ const connectWithWalletConnectSolana = async ({ addToDynamicWalletAccounts = tru
308
308
  *
309
309
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
310
310
  * @returns A promise that resolves to the connected and verified wallet account.
311
- * @not-instrumented
311
+ * @notInstrumented
312
312
  */
313
313
  const connectAndVerifyWithWalletConnectSolana = async (client = (0, _dynamic_labs_sdk_client_core.getDefaultClient)()) => {
314
314
  const { approval, uri } = await connectWithWalletConnectSolana({ addToDynamicWalletAccounts: false }, client);
@@ -1 +1 @@
1
- {"version":3,"file":"walletConnect.cjs","names":["methodsThatRequireUserAction: string[]","SessionClosedUnexpectedlyError","WalletProviderEnum","getActiveNetworkId: WalletConnectSolanaWalletProvider['getActiveNetworkId']","switchActiveNetwork: WalletConnectSolanaWalletProvider['switchActiveNetwork']","disconnectWalletAccount: WalletConnectSolanaWalletProvider['disconnectWalletAccount']","signMessage: WalletConnectSolanaWalletProvider['signMessage']","PublicKey","getConnectedAddresses: WalletConnectSolanaWalletProvider['getConnectedAddresses']","destroy: NonNullable<\n WalletConnectSolanaWalletProvider['destroy']\n >","SDK_ERRORS","signTransaction: WalletConnectSolanaWalletProvider['signTransaction']","isVersionedTransaction","VersionedTransaction","Transaction","signAllTransactions: WalletConnectSolanaWalletProvider['signAllTransactions']","signAndSendTransaction: WalletConnectSolanaWalletProvider['signAndSendTransaction']","solanaConfirmTransaction","solanaExecuteSwapTransaction","solanaTransferAmount","WalletProviderPriority","CHAINS_INFO_MAP","packageName","packageVersion"],"sources":["../src/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.ts","../src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts","../src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts","../src/walletConnect/consts.ts","../src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts","../src/walletConnect/connectAndVerifyWithWalletConnectSolana/connectAndVerifyWithWalletConnectSolana.ts","../src/exports/walletConnect.ts"],"sourcesContent":["import {\n type DynamicClient,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n bufferToBase64,\n emitEvent,\n filterDuplicates,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n getCore,\n getWalletProviderRegistry,\n switchActiveNetworkInLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport { SessionClosedUnexpectedlyError } from '@dynamic-labs-sdk/wallet-connect';\nimport {\n createWalletConnectSessionEventEmitter,\n getSignClient,\n splitCaip10Token,\n} from '@dynamic-labs-sdk/wallet-connect/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { SDK_ERRORS } from '@walletconnect/utils';\nimport bs58 from 'bs58';\n\nimport type { SolanaWalletAccount } from '../../SolanaWalletAccount.types';\nimport { isVersionedTransaction } from '../../utils/isVersionedTransaction';\nimport { solanaConfirmTransaction } from '../../utils/solanaConfirmTransaction';\nimport { solanaExecuteSwapTransaction } from '../../utils/solanaExecuteSwapTransaction';\nimport { solanaTransferAmount } from '../../utils/solanaTransferAmount';\nimport type { solanaMethods } from '../consts';\nimport type { WalletConnectSolanaWalletProvider } from '../walletConnectSolanaWalletProvider.types';\nimport type {\n AvailableSolanaSessionRequests,\n SolanaSessionRequest,\n SolanaSessionRequestResultMap,\n} from './walletConnectSolanaSessionRequest.types';\n\ntype createWalletProviderFromWalletConnectSolanaSessionParams = {\n sessionTopic: string;\n};\n\n/**\n * The list of Solana request methods that require user action.\n * We will raise a user action requested event for these methods.\n */\nconst methodsThatRequireUserAction: string[] = [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n] satisfies (typeof solanaMethods)[number][];\n\n/** @not-instrumented */\nexport const createWalletProviderFromWalletConnectSolanaSession = async (\n { sessionTopic }: createWalletProviderFromWalletConnectSolanaSessionParams,\n client: DynamicClient\n): Promise<WalletConnectSolanaWalletProvider> => {\n const signClient = await getSignClient(client);\n\n const getSession = () => {\n const session = signClient.session.get(sessionTopic);\n\n if (!session) {\n // destroy never throws (it logs internally), but explicit .catch makes\n // the fire-and-forget intent obvious and silences static analyzers.\n destroy().catch(() => undefined);\n\n throw new SessionClosedUnexpectedlyError({\n sessionTopic,\n walletDisplayName: displayName,\n });\n }\n\n return session;\n };\n\n const displayName = getSession().peer.metadata.name;\n\n const namespaceKey = 'solana';\n\n const walletProviderType = WalletProviderEnum.WalletConnect;\n\n const key = formatWalletProviderKey({\n chain: 'SOL',\n displayName,\n suffix: sessionTopic,\n walletProviderType,\n });\n\n const getActiveNetworkId: WalletConnectSolanaWalletProvider['getActiveNetworkId'] =\n async () => {\n // Assert the session is still valid\n getSession();\n\n return await getActiveNetworkIdFromLastKnownRegistry({\n client,\n walletProviderKey: key,\n });\n };\n\n const switchActiveNetwork: WalletConnectSolanaWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) => {\n // Assert the session is still valid\n getSession();\n\n await switchActiveNetworkInLastKnownRegistry({\n client,\n networkId,\n walletProviderKey: key,\n });\n };\n\n /**\n * We actually clear up the entire WC session and its wallet provider\n */\n const disconnectWalletAccount: WalletConnectSolanaWalletProvider['disconnectWalletAccount'] =\n async () => destroy();\n\n /**\n * Helper function to make WalletConnect requests\n */\n // eslint-disable-next-line custom-rules/require-single-object-param\n const makeRequest = async <T extends AvailableSolanaSessionRequests>(\n request: SolanaSessionRequest<T>,\n walletAccount: SolanaWalletAccount\n ): Promise<SolanaSessionRequestResultMap[T]> => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const session = getSession();\n\n const peerMetadata = session.peer.metadata;\n\n if (methodsThatRequireUserAction.includes(request.method)) {\n emitEvent(\n {\n args: {\n walletMetadata: peerMetadata,\n walletProviderKey: key,\n },\n event: 'walletConnectUserActionRequested',\n },\n client\n );\n }\n\n const { networkData } = await getActiveNetworkData(\n { walletAccount },\n client\n );\n\n assertDefined(\n networkData,\n `Failed to get network data for wallet account ${walletAccount.address}`\n );\n\n return signClient.request<SolanaSessionRequestResultMap[T]>({\n chainId: `${namespaceKey}:${networkData.genesisHash}`,\n request,\n topic: sessionTopic,\n });\n };\n\n /**\n * Serializes a transaction for WalletConnect\n * Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L193\n */\n // eslint-disable-next-line custom-rules/require-single-object-param\n const serializeTransaction = (\n transaction: Transaction | VersionedTransaction\n ) => {\n const serialized = transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n });\n\n return bs58.encode(new Uint8Array(serialized));\n };\n\n const signMessage: WalletConnectSolanaWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const publicKey = new PublicKey(walletAccount.address);\n\n const { signature } = await makeRequest(\n {\n method: 'solana_signMessage',\n params: { message, pubkey: publicKey.toBase58() },\n },\n walletAccount\n );\n\n const signatureBytes = bs58.decode(signature);\n\n return {\n signature: bufferToBase64(signatureBytes),\n };\n };\n\n const getConnectedAddresses: WalletConnectSolanaWalletProvider['getConnectedAddresses'] =\n async () => {\n const addresses = filterDuplicates(\n getSession().namespaces[namespaceKey].accounts.map(\n (account) => splitCaip10Token(account).address\n )\n );\n\n return { addresses };\n };\n\n const { cleanupEventEmitter, getEventEmitter } =\n createWalletConnectSessionEventEmitter({\n getSession,\n namespaceKey,\n sessionTopic,\n signClient,\n });\n\n const destroy: NonNullable<\n WalletConnectSolanaWalletProvider['destroy']\n > = async () => {\n cleanupEventEmitter();\n try {\n await signClient.disconnect({\n reason: SDK_ERRORS.USER_DISCONNECTED,\n topic: sessionTopic,\n });\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n walletProviderRegistry.unregister(key);\n } catch (err) {\n getCore(client).logger.error(\n `[${key}] destroy: remote signal failed`,\n err\n );\n }\n };\n\n const signTransaction: WalletConnectSolanaWalletProvider['signTransaction'] =\n async ({ transaction, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n type T = typeof transaction;\n\n const serializedTransaction = serializeTransaction(transaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L98\n const { transaction: signedTransaction } = await makeRequest(\n {\n method: 'solana_signTransaction',\n params: { transaction: serializedTransaction },\n },\n walletAccount\n );\n\n const decodedTransaction = bs58.decode(signedTransaction);\n\n if (isVersionedTransaction(transaction)) {\n return {\n signedTransaction: VersionedTransaction.deserialize(\n decodedTransaction\n ) as T,\n };\n }\n\n return { signedTransaction: Transaction.from(decodedTransaction) as T };\n };\n\n const signAllTransactions: WalletConnectSolanaWalletProvider['signAllTransactions'] =\n async ({ transactions, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n type T = (typeof transactions)[number];\n\n const serializedTransactions = transactions.map(serializeTransaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L143\n const { transactions: signedTransactions } = await makeRequest(\n {\n method: 'solana_signAllTransactions',\n params: { transactions: serializedTransactions },\n },\n walletAccount\n );\n\n const signedTransactionsArray = signedTransactions.map(\n (signedTransaction, index) => {\n const originalTransaction = transactions[index];\n\n const decodedTransaction = bs58.decode(signedTransaction);\n\n if (isVersionedTransaction(originalTransaction)) {\n return VersionedTransaction.deserialize(decodedTransaction) as T;\n }\n\n return Transaction.from(decodedTransaction) as T;\n }\n );\n\n return { signedTransactions: signedTransactionsArray };\n };\n\n const signAndSendTransaction: WalletConnectSolanaWalletProvider['signAndSendTransaction'] =\n async ({ transaction, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const serializedTransaction = serializeTransaction(transaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L114\n const { signature } = await makeRequest(\n {\n method: 'solana_signAndSendTransaction',\n params: { transaction: serializedTransaction },\n },\n walletAccount\n );\n\n return { signature };\n };\n\n return {\n chain: 'SOL',\n confirmTransaction: (args) => solanaConfirmTransaction(args, client),\n destroy,\n disconnectWalletAccount,\n get events() {\n return getEventEmitter();\n },\n executeSwapTransaction: (args) =>\n solanaExecuteSwapTransaction(args, client),\n getActiveNetworkId,\n getConnectedAddresses,\n getSession,\n groupKey: formatWalletProviderGroupKey(displayName),\n key,\n metadata: {\n displayName,\n icon: getSession().peer.metadata.icons[0],\n },\n namespaceKey,\n signAllTransactions,\n signAndSendTransaction,\n signMessage,\n signTransaction,\n switchActiveNetwork,\n transferAmount: (args) => solanaTransferAmount(args, client),\n walletProviderType,\n };\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport {\n WalletProviderPriority,\n getWalletProviderRegistry,\n waitForProjectSettings,\n} from '@dynamic-labs-sdk/client/core';\nimport { getSignClient } from '@dynamic-labs-sdk/wallet-connect/core';\n\nimport { createWalletProviderFromWalletConnectSolanaSession } from '../createWalletProviderFromWalletConnectSolanaSession';\n\n/** @not-instrumented */\nexport const recoverSolanaWalletConnectWalletProviders = async (\n client: DynamicClient\n) => {\n await waitForProjectSettings(client);\n\n const signClient = await getSignClient(client);\n\n /**\n * Recreate the wallet providers for all existing Solana sessions\n */\n const sessions = signClient.session.getAll();\n\n const currentTime = Math.floor(Date.now() / 1000);\n\n for (const session of sessions) {\n if (!('solana' in session.namespaces)) {\n continue;\n }\n\n if (session.expiry <= currentTime) {\n continue;\n }\n\n const walletProvider =\n await createWalletProviderFromWalletConnectSolanaSession(\n {\n sessionTopic: session.topic,\n },\n client\n );\n\n getWalletProviderRegistry(client).register({\n priority: WalletProviderPriority.WALLET_SDK,\n walletProvider,\n });\n }\n};\n","import { getDefaultClient, hasExtension } from '@dynamic-labs-sdk/client';\nimport { registerExtension } from '@dynamic-labs-sdk/client/core';\n\nimport { registerSolanaNetworkProviderBuilder } from '../../registerSolanaNetworkProviderBuilder';\nimport { assertBufferAvailable } from '../../utils/assertBufferAvailable/assertBufferAvailable';\nimport { recoverSolanaWalletConnectWalletProviders } from '../recoverSolanaWalletConnectWalletProviders';\n\nexport const WALLET_CONNECT_SOLANA_EXTENSION_KEY = 'walletConnectSolana';\n\n/** @not-instrumented */\nexport const addWalletConnectSolanaExtension = async (\n client = getDefaultClient()\n) => {\n if (\n hasExtension({ extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY }, client)\n ) {\n return;\n }\n\n assertBufferAvailable();\n\n registerExtension(\n { extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY },\n client\n );\n\n registerSolanaNetworkProviderBuilder(client);\n\n await recoverSolanaWalletConnectWalletProviders(client);\n};\n","import { CHAINS_INFO_MAP } from '@dynamic-labs-sdk/client/core';\n\nexport const solanaApiChainName = CHAINS_INFO_MAP.SOL.apiChainName;\n\n/**\n * List of methods that may be requested from Solana wallet applications.\n *\n * Source: https://github.com/reown-com/appkit/blob/fe11a72507af09efcfe89228189aeda04dfe17a9/packages/appkit-utils/src/WCNamespaceUtil.ts#L9\n */\nexport const solanaMethods = [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_requestAccounts',\n 'solana_getAccounts',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n] as const;\n\n/**\n * List of blockchain hashes for all solana networks.\n *\n * You will find the main hashes here: https://namespaces.chainagnostic.org/solana/caip10\n * However, this list also includes the legacy hashes for mainnet and devnet for maximum compatibility.\n * You will find the legacy hashes here: https://chainagnostic.org/CAIPs/caip-30\n *\n * Note that this list was not originally fetched from those sources, however. Instead, we manually inspected\n * which networks were passed as argument to the signClient.connect method in the official reown Solana demo\n * which you can find here: https://lab.reown.com/appkit/?name=multichain-all\n */\nexport const solanaNetworks = [\n // mainnet\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n // legacy mainnet\n 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ',\n // testnet\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n // devnet\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n // legacy devnet\n 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K',\n] as const;\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { assertDefined } from '@dynamic-labs-sdk/client/core';\nimport type { WalletConnectConnectionResult } from '@dynamic-labs-sdk/wallet-connect';\nimport {\n getSignClient,\n importWalletConnectSession,\n} from '@dynamic-labs-sdk/wallet-connect/core';\n\nimport { solanaApiChainName, solanaMethods } from '../consts';\nimport { createWalletProviderFromWalletConnectSolanaSession } from '../createWalletProviderFromWalletConnectSolanaSession';\n\ntype ConnectWithWalletConnectSolanaParams = {\n /**\n * Whether this session's wallet accounts should be added to the dynamic's wallet accounts.\n */\n addToDynamicWalletAccounts?: boolean;\n};\n\n/** @not-instrumented */\nexport const connectWithWalletConnectSolana = async (\n {\n addToDynamicWalletAccounts = true,\n }: ConnectWithWalletConnectSolanaParams = {},\n client = getDefaultClient()\n): Promise<WalletConnectConnectionResult> => {\n const signClient = await getSignClient(client);\n\n assertDefined(client.projectSettings, 'Project settings unavailable');\n\n const solanaNetworks = client.projectSettings.networks?.find(\n (network) => network.chainName === solanaApiChainName\n )?.networks;\n\n assertDefined(solanaNetworks, 'Solana networks not found');\n\n /**\n * By inspecting the official reown Solana demo, we can see that the genesis hash is used as the chain id.\n * https://lab.reown.com/appkit/?name=multichain-all\n */\n const walletConnectChains = solanaNetworks.map(\n (network) => `solana:${network.genesisHash}`\n );\n\n /**\n * A WalletConnect connection request generates a URI and a promise.\n *\n * The URI must be handed to an external wallet application that will use it\n * to establish a connection via a WalletConnect relay server. Typically, this\n * is done by scanning a QR code or deep linking to the wallet application.\n *\n * The promise will resolve when the connection is established.\n */\n const { approval, uri } = await signClient.connect({\n optionalNamespaces: {\n solana: {\n chains: walletConnectChains,\n events: ['accountsChanged', 'chainChanged', 'disconnected'],\n methods: solanaMethods as unknown as string[],\n },\n },\n });\n\n assertDefined(\n uri,\n 'Failed to establish WalletConnect session: no URI returned'\n );\n\n /**\n * Once the approval promise resolves, the WalletConnect session is established\n * between the wallet application and the dapp (this app).\n */\n const walletAccountsPromise = approval().then(async (session) => {\n assertDefined(\n session.namespaces.solana,\n `WalletConnect session did not establish a Solana connection. Found instead: ${Object.keys(\n session.namespaces\n ).join(', ')}`\n );\n\n return importWalletConnectSession(\n {\n addToDynamicWalletAccounts,\n sessionTopic: session.topic,\n walletProviderBuilder:\n createWalletProviderFromWalletConnectSolanaSession,\n },\n client\n );\n });\n\n return { approval: () => walletAccountsPromise, uri };\n};\n","import { verifyWalletAccount } from '@dynamic-labs-sdk/client';\nimport { assertDefined, getDefaultClient } from '@dynamic-labs-sdk/client/core';\nimport type { WalletConnectConnectionResult } from '@dynamic-labs-sdk/wallet-connect';\n\nimport { connectWithWalletConnectSolana } from '../connectWithWalletConnectSolana';\n\n/**\n * Connects to a WalletConnect Solana wallet and verifies ownership through message signing.\n *\n * This function will first perform a regular connect and then verify the wallet accounts via\n * verifyWalletAccount.\n *\n * **Note on connecting and verifying in a single step:**\n * Currently WalletConnect does NOT support the authenticate method for any non eip155 chains.\n * This means there is no way to perform connection and verification in a single step.\n * This can easily be tested by attempting to call `signClient.authenticate` with a solana namespace\n * and checking whether WalletConnect will throw the following error:\n * ```\n * 'Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.'\n * ```\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to the connected and verified wallet account.\n * @not-instrumented\n */\nexport const connectAndVerifyWithWalletConnectSolana = async (\n client = getDefaultClient()\n): Promise<WalletConnectConnectionResult> => {\n const { approval, uri } = await connectWithWalletConnectSolana(\n // We don't want to add the wallet accounts to the dynamic's wallet accounts state\n // while we are still verifying them.\n { addToDynamicWalletAccounts: false },\n client\n );\n\n assertDefined(\n uri,\n 'Failed to establish WalletConnect session: no URI returned'\n );\n\n /**\n * Once the approval promise resolves, the WalletConnect session is established\n * between the wallet application and the dapp (this app).\n */\n const walletAccountsPromise = approval().then(async ({ walletAccounts }) => {\n // This should not be concurrent because the first will be a verify and the rest will be a link\n for (const walletAccount of walletAccounts) {\n await verifyWalletAccount({ walletAccount }, client);\n }\n\n return { walletAccounts };\n });\n\n return { approval: () => walletAccountsPromise, uri };\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 { addWalletConnectSolanaExtension } from '../walletConnect/addWalletConnectSolanaExtension';\nexport { connectAndVerifyWithWalletConnectSolana } from '../walletConnect/connectAndVerifyWithWalletConnectSolana';\nexport { connectWithWalletConnectSolana } from '../walletConnect/connectWithWalletConnectSolana';\nexport type { WalletConnectSolanaWalletProvider } from '../walletConnect/walletConnectSolanaWalletProvider.types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"walletConnect.cjs","names":["methodsThatRequireUserAction: string[]","SessionClosedUnexpectedlyError","WalletProviderEnum","getActiveNetworkId: WalletConnectSolanaWalletProvider['getActiveNetworkId']","switchActiveNetwork: WalletConnectSolanaWalletProvider['switchActiveNetwork']","disconnectWalletAccount: WalletConnectSolanaWalletProvider['disconnectWalletAccount']","signMessage: WalletConnectSolanaWalletProvider['signMessage']","PublicKey","getConnectedAddresses: WalletConnectSolanaWalletProvider['getConnectedAddresses']","destroy: NonNullable<\n WalletConnectSolanaWalletProvider['destroy']\n >","SDK_ERRORS","signTransaction: WalletConnectSolanaWalletProvider['signTransaction']","isVersionedTransaction","VersionedTransaction","Transaction","signAllTransactions: WalletConnectSolanaWalletProvider['signAllTransactions']","signAndSendTransaction: WalletConnectSolanaWalletProvider['signAndSendTransaction']","solanaConfirmTransaction","solanaExecuteSwapTransaction","solanaTransferAmount","WalletProviderPriority","CHAINS_INFO_MAP","packageName","packageVersion"],"sources":["../src/walletConnect/createWalletProviderFromWalletConnectSolanaSession/createWalletProviderFromWalletConnectSolanaSession.ts","../src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts","../src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts","../src/walletConnect/consts.ts","../src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts","../src/walletConnect/connectAndVerifyWithWalletConnectSolana/connectAndVerifyWithWalletConnectSolana.ts","../src/exports/walletConnect.ts"],"sourcesContent":["import {\n type DynamicClient,\n getActiveNetworkData,\n} from '@dynamic-labs-sdk/client';\nimport {\n assertDefined,\n bufferToBase64,\n emitEvent,\n filterDuplicates,\n formatWalletProviderGroupKey,\n formatWalletProviderKey,\n getActiveNetworkIdFromLastKnownRegistry,\n getCore,\n getWalletProviderRegistry,\n switchActiveNetworkInLastKnownRegistry,\n} from '@dynamic-labs-sdk/client/core';\nimport { SessionClosedUnexpectedlyError } from '@dynamic-labs-sdk/wallet-connect';\nimport {\n createWalletConnectSessionEventEmitter,\n getSignClient,\n splitCaip10Token,\n} from '@dynamic-labs-sdk/wallet-connect/core';\nimport { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';\nimport { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';\nimport { SDK_ERRORS } from '@walletconnect/utils';\nimport bs58 from 'bs58';\n\nimport type { SolanaWalletAccount } from '../../SolanaWalletAccount.types';\nimport { isVersionedTransaction } from '../../utils/isVersionedTransaction';\nimport { solanaConfirmTransaction } from '../../utils/solanaConfirmTransaction';\nimport { solanaExecuteSwapTransaction } from '../../utils/solanaExecuteSwapTransaction';\nimport { solanaTransferAmount } from '../../utils/solanaTransferAmount';\nimport type { solanaMethods } from '../consts';\nimport type { WalletConnectSolanaWalletProvider } from '../walletConnectSolanaWalletProvider.types';\nimport type {\n AvailableSolanaSessionRequests,\n SolanaSessionRequest,\n SolanaSessionRequestResultMap,\n} from './walletConnectSolanaSessionRequest.types';\n\ntype createWalletProviderFromWalletConnectSolanaSessionParams = {\n sessionTopic: string;\n};\n\n/**\n * The list of Solana request methods that require user action.\n * We will raise a user action requested event for these methods.\n */\nconst methodsThatRequireUserAction: string[] = [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n] satisfies (typeof solanaMethods)[number][];\n\n/** @notInstrumented */\nexport const createWalletProviderFromWalletConnectSolanaSession = async (\n { sessionTopic }: createWalletProviderFromWalletConnectSolanaSessionParams,\n client: DynamicClient\n): Promise<WalletConnectSolanaWalletProvider> => {\n const signClient = await getSignClient(client);\n\n const getSession = () => {\n const session = signClient.session.get(sessionTopic);\n\n if (!session) {\n // destroy never throws (it logs internally), but explicit .catch makes\n // the fire-and-forget intent obvious and silences static analyzers.\n destroy().catch(() => undefined);\n\n throw new SessionClosedUnexpectedlyError({\n sessionTopic,\n walletDisplayName: displayName,\n });\n }\n\n return session;\n };\n\n const displayName = getSession().peer.metadata.name;\n\n const namespaceKey = 'solana';\n\n const walletProviderType = WalletProviderEnum.WalletConnect;\n\n const key = formatWalletProviderKey({\n chain: 'SOL',\n displayName,\n suffix: sessionTopic,\n walletProviderType,\n });\n\n const getActiveNetworkId: WalletConnectSolanaWalletProvider['getActiveNetworkId'] =\n async () => {\n // Assert the session is still valid\n getSession();\n\n return await getActiveNetworkIdFromLastKnownRegistry({\n client,\n walletProviderKey: key,\n });\n };\n\n const switchActiveNetwork: WalletConnectSolanaWalletProvider['switchActiveNetwork'] =\n async ({ networkId }) => {\n // Assert the session is still valid\n getSession();\n\n await switchActiveNetworkInLastKnownRegistry({\n client,\n networkId,\n walletProviderKey: key,\n });\n };\n\n /**\n * We actually clear up the entire WC session and its wallet provider\n */\n const disconnectWalletAccount: WalletConnectSolanaWalletProvider['disconnectWalletAccount'] =\n async () => destroy();\n\n /**\n * Helper function to make WalletConnect requests\n */\n // eslint-disable-next-line custom-rules/require-single-object-param\n const makeRequest = async <T extends AvailableSolanaSessionRequests>(\n request: SolanaSessionRequest<T>,\n walletAccount: SolanaWalletAccount\n ): Promise<SolanaSessionRequestResultMap[T]> => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const session = getSession();\n\n const peerMetadata = session.peer.metadata;\n\n if (methodsThatRequireUserAction.includes(request.method)) {\n emitEvent(\n {\n args: {\n walletMetadata: peerMetadata,\n walletProviderKey: key,\n },\n event: 'walletConnectUserActionRequested',\n },\n client\n );\n }\n\n const { networkData } = await getActiveNetworkData(\n { walletAccount },\n client\n );\n\n assertDefined(\n networkData,\n `Failed to get network data for wallet account ${walletAccount.address}`\n );\n\n return signClient.request<SolanaSessionRequestResultMap[T]>({\n chainId: `${namespaceKey}:${networkData.genesisHash}`,\n request,\n topic: sessionTopic,\n });\n };\n\n /**\n * Serializes a transaction for WalletConnect\n * Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L193\n */\n // eslint-disable-next-line custom-rules/require-single-object-param\n const serializeTransaction = (\n transaction: Transaction | VersionedTransaction\n ) => {\n const serialized = transaction.serialize({\n requireAllSignatures: false,\n verifySignatures: false,\n });\n\n return bs58.encode(new Uint8Array(serialized));\n };\n\n const signMessage: WalletConnectSolanaWalletProvider['signMessage'] = async ({\n message,\n walletAccount,\n }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const publicKey = new PublicKey(walletAccount.address);\n\n const { signature } = await makeRequest(\n {\n method: 'solana_signMessage',\n params: { message, pubkey: publicKey.toBase58() },\n },\n walletAccount\n );\n\n const signatureBytes = bs58.decode(signature);\n\n return {\n signature: bufferToBase64(signatureBytes),\n };\n };\n\n const getConnectedAddresses: WalletConnectSolanaWalletProvider['getConnectedAddresses'] =\n async () => {\n const addresses = filterDuplicates(\n getSession().namespaces[namespaceKey].accounts.map(\n (account) => splitCaip10Token(account).address\n )\n );\n\n return { addresses };\n };\n\n const { cleanupEventEmitter, getEventEmitter } =\n createWalletConnectSessionEventEmitter({\n getSession,\n namespaceKey,\n sessionTopic,\n signClient,\n });\n\n const destroy: NonNullable<\n WalletConnectSolanaWalletProvider['destroy']\n > = async () => {\n cleanupEventEmitter();\n try {\n await signClient.disconnect({\n reason: SDK_ERRORS.USER_DISCONNECTED,\n topic: sessionTopic,\n });\n\n const walletProviderRegistry = getWalletProviderRegistry(client);\n\n walletProviderRegistry.unregister(key);\n } catch (err) {\n getCore(client).logger.error(\n `[${key}] destroy: remote signal failed`,\n err\n );\n }\n };\n\n const signTransaction: WalletConnectSolanaWalletProvider['signTransaction'] =\n async ({ transaction, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n type T = typeof transaction;\n\n const serializedTransaction = serializeTransaction(transaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L98\n const { transaction: signedTransaction } = await makeRequest(\n {\n method: 'solana_signTransaction',\n params: { transaction: serializedTransaction },\n },\n walletAccount\n );\n\n const decodedTransaction = bs58.decode(signedTransaction);\n\n if (isVersionedTransaction(transaction)) {\n return {\n signedTransaction: VersionedTransaction.deserialize(\n decodedTransaction\n ) as T,\n };\n }\n\n return { signedTransaction: Transaction.from(decodedTransaction) as T };\n };\n\n const signAllTransactions: WalletConnectSolanaWalletProvider['signAllTransactions'] =\n async ({ transactions, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n type T = (typeof transactions)[number];\n\n const serializedTransactions = transactions.map(serializeTransaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L143\n const { transactions: signedTransactions } = await makeRequest(\n {\n method: 'solana_signAllTransactions',\n params: { transactions: serializedTransactions },\n },\n walletAccount\n );\n\n const signedTransactionsArray = signedTransactions.map(\n (signedTransaction, index) => {\n const originalTransaction = transactions[index];\n\n const decodedTransaction = bs58.decode(signedTransaction);\n\n if (isVersionedTransaction(originalTransaction)) {\n return VersionedTransaction.deserialize(decodedTransaction) as T;\n }\n\n return Transaction.from(decodedTransaction) as T;\n }\n );\n\n return { signedTransactions: signedTransactionsArray };\n };\n\n const signAndSendTransaction: WalletConnectSolanaWalletProvider['signAndSendTransaction'] =\n async ({ transaction, walletAccount }) => {\n assertDefined(walletAccount, 'Wallet account is required');\n\n const serializedTransaction = serializeTransaction(transaction);\n\n // Reference: https://github.com/reown-com/appkit/blob/552b6b39b46e6c604b4d7d290634b9fa96bf7ed0/packages/adapters/solana/src/providers/AuthProvider.ts#L114\n const { signature } = await makeRequest(\n {\n method: 'solana_signAndSendTransaction',\n params: { transaction: serializedTransaction },\n },\n walletAccount\n );\n\n return { signature };\n };\n\n return {\n chain: 'SOL',\n confirmTransaction: (args) => solanaConfirmTransaction(args, client),\n destroy,\n disconnectWalletAccount,\n get events() {\n return getEventEmitter();\n },\n executeSwapTransaction: (args) =>\n solanaExecuteSwapTransaction(args, client),\n getActiveNetworkId,\n getConnectedAddresses,\n getSession,\n groupKey: formatWalletProviderGroupKey(displayName),\n key,\n metadata: {\n displayName,\n icon: getSession().peer.metadata.icons[0],\n },\n namespaceKey,\n signAllTransactions,\n signAndSendTransaction,\n signMessage,\n signTransaction,\n switchActiveNetwork,\n transferAmount: (args) => solanaTransferAmount(args, client),\n walletProviderType,\n };\n};\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport {\n WalletProviderPriority,\n getWalletProviderRegistry,\n waitForProjectSettings,\n} from '@dynamic-labs-sdk/client/core';\nimport { getSignClient } from '@dynamic-labs-sdk/wallet-connect/core';\n\nimport { createWalletProviderFromWalletConnectSolanaSession } from '../createWalletProviderFromWalletConnectSolanaSession';\n\n/** @notInstrumented */\nexport const recoverSolanaWalletConnectWalletProviders = async (\n client: DynamicClient\n) => {\n await waitForProjectSettings(client);\n\n const signClient = await getSignClient(client);\n\n /**\n * Recreate the wallet providers for all existing Solana sessions\n */\n const sessions = signClient.session.getAll();\n\n const currentTime = Math.floor(Date.now() / 1000);\n\n for (const session of sessions) {\n if (!('solana' in session.namespaces)) {\n continue;\n }\n\n if (session.expiry <= currentTime) {\n continue;\n }\n\n const walletProvider =\n await createWalletProviderFromWalletConnectSolanaSession(\n {\n sessionTopic: session.topic,\n },\n client\n );\n\n getWalletProviderRegistry(client).register({\n priority: WalletProviderPriority.WALLET_SDK,\n walletProvider,\n });\n }\n};\n","import { getDefaultClient, hasExtension } from '@dynamic-labs-sdk/client';\nimport { registerExtension } from '@dynamic-labs-sdk/client/core';\n\nimport { registerSolanaNetworkProviderBuilder } from '../../registerSolanaNetworkProviderBuilder';\nimport { assertBufferAvailable } from '../../utils/assertBufferAvailable/assertBufferAvailable';\nimport { recoverSolanaWalletConnectWalletProviders } from '../recoverSolanaWalletConnectWalletProviders';\n\nexport const WALLET_CONNECT_SOLANA_EXTENSION_KEY = 'walletConnectSolana';\n\n/** @notInstrumented */\nexport const addWalletConnectSolanaExtension = async (\n client = getDefaultClient()\n) => {\n if (\n hasExtension({ extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY }, client)\n ) {\n return;\n }\n\n assertBufferAvailable();\n\n registerExtension(\n { extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY },\n client\n );\n\n registerSolanaNetworkProviderBuilder(client);\n\n await recoverSolanaWalletConnectWalletProviders(client);\n};\n","import { CHAINS_INFO_MAP } from '@dynamic-labs-sdk/client/core';\n\nexport const solanaApiChainName = CHAINS_INFO_MAP.SOL.apiChainName;\n\n/**\n * List of methods that may be requested from Solana wallet applications.\n *\n * Source: https://github.com/reown-com/appkit/blob/fe11a72507af09efcfe89228189aeda04dfe17a9/packages/appkit-utils/src/WCNamespaceUtil.ts#L9\n */\nexport const solanaMethods = [\n 'solana_signMessage',\n 'solana_signTransaction',\n 'solana_requestAccounts',\n 'solana_getAccounts',\n 'solana_signAllTransactions',\n 'solana_signAndSendTransaction',\n] as const;\n\n/**\n * List of blockchain hashes for all solana networks.\n *\n * You will find the main hashes here: https://namespaces.chainagnostic.org/solana/caip10\n * However, this list also includes the legacy hashes for mainnet and devnet for maximum compatibility.\n * You will find the legacy hashes here: https://chainagnostic.org/CAIPs/caip-30\n *\n * Note that this list was not originally fetched from those sources, however. Instead, we manually inspected\n * which networks were passed as argument to the signClient.connect method in the official reown Solana demo\n * which you can find here: https://lab.reown.com/appkit/?name=multichain-all\n */\nexport const solanaNetworks = [\n // mainnet\n 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n // legacy mainnet\n 'solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ',\n // testnet\n 'solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',\n // devnet\n 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n // legacy devnet\n 'solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K',\n] as const;\n","import { getDefaultClient } from '@dynamic-labs-sdk/client';\nimport { assertDefined } from '@dynamic-labs-sdk/client/core';\nimport type { WalletConnectConnectionResult } from '@dynamic-labs-sdk/wallet-connect';\nimport {\n getSignClient,\n importWalletConnectSession,\n} from '@dynamic-labs-sdk/wallet-connect/core';\n\nimport { solanaApiChainName, solanaMethods } from '../consts';\nimport { createWalletProviderFromWalletConnectSolanaSession } from '../createWalletProviderFromWalletConnectSolanaSession';\n\ntype ConnectWithWalletConnectSolanaParams = {\n /**\n * Whether this session's wallet accounts should be added to the dynamic's wallet accounts.\n */\n addToDynamicWalletAccounts?: boolean;\n};\n\n/** @notInstrumented */\nexport const connectWithWalletConnectSolana = async (\n {\n addToDynamicWalletAccounts = true,\n }: ConnectWithWalletConnectSolanaParams = {},\n client = getDefaultClient()\n): Promise<WalletConnectConnectionResult> => {\n const signClient = await getSignClient(client);\n\n assertDefined(client.projectSettings, 'Project settings unavailable');\n\n const solanaNetworks = client.projectSettings.networks?.find(\n (network) => network.chainName === solanaApiChainName\n )?.networks;\n\n assertDefined(solanaNetworks, 'Solana networks not found');\n\n /**\n * By inspecting the official reown Solana demo, we can see that the genesis hash is used as the chain id.\n * https://lab.reown.com/appkit/?name=multichain-all\n */\n const walletConnectChains = solanaNetworks.map(\n (network) => `solana:${network.genesisHash}`\n );\n\n /**\n * A WalletConnect connection request generates a URI and a promise.\n *\n * The URI must be handed to an external wallet application that will use it\n * to establish a connection via a WalletConnect relay server. Typically, this\n * is done by scanning a QR code or deep linking to the wallet application.\n *\n * The promise will resolve when the connection is established.\n */\n const { approval, uri } = await signClient.connect({\n optionalNamespaces: {\n solana: {\n chains: walletConnectChains,\n events: ['accountsChanged', 'chainChanged', 'disconnected'],\n methods: solanaMethods as unknown as string[],\n },\n },\n });\n\n assertDefined(\n uri,\n 'Failed to establish WalletConnect session: no URI returned'\n );\n\n /**\n * Once the approval promise resolves, the WalletConnect session is established\n * between the wallet application and the dapp (this app).\n */\n const walletAccountsPromise = approval().then(async (session) => {\n assertDefined(\n session.namespaces.solana,\n `WalletConnect session did not establish a Solana connection. Found instead: ${Object.keys(\n session.namespaces\n ).join(', ')}`\n );\n\n return importWalletConnectSession(\n {\n addToDynamicWalletAccounts,\n sessionTopic: session.topic,\n walletProviderBuilder:\n createWalletProviderFromWalletConnectSolanaSession,\n },\n client\n );\n });\n\n return { approval: () => walletAccountsPromise, uri };\n};\n","import { verifyWalletAccount } from '@dynamic-labs-sdk/client';\nimport { assertDefined, getDefaultClient } from '@dynamic-labs-sdk/client/core';\nimport type { WalletConnectConnectionResult } from '@dynamic-labs-sdk/wallet-connect';\n\nimport { connectWithWalletConnectSolana } from '../connectWithWalletConnectSolana';\n\n/**\n * Connects to a WalletConnect Solana wallet and verifies ownership through message signing.\n *\n * This function will first perform a regular connect and then verify the wallet accounts via\n * verifyWalletAccount.\n *\n * **Note on connecting and verifying in a single step:**\n * Currently WalletConnect does NOT support the authenticate method for any non eip155 chains.\n * This means there is no way to perform connection and verification in a single step.\n * This can easily be tested by attempting to call `signClient.authenticate` with a solana namespace\n * and checking whether WalletConnect will throw the following error:\n * ```\n * 'Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.'\n * ```\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to the connected and verified wallet account.\n * @notInstrumented\n */\nexport const connectAndVerifyWithWalletConnectSolana = async (\n client = getDefaultClient()\n): Promise<WalletConnectConnectionResult> => {\n const { approval, uri } = await connectWithWalletConnectSolana(\n // We don't want to add the wallet accounts to the dynamic's wallet accounts state\n // while we are still verifying them.\n { addToDynamicWalletAccounts: false },\n client\n );\n\n assertDefined(\n uri,\n 'Failed to establish WalletConnect session: no URI returned'\n );\n\n /**\n * Once the approval promise resolves, the WalletConnect session is established\n * between the wallet application and the dapp (this app).\n */\n const walletAccountsPromise = approval().then(async ({ walletAccounts }) => {\n // This should not be concurrent because the first will be a verify and the rest will be a link\n for (const walletAccount of walletAccounts) {\n await verifyWalletAccount({ walletAccount }, client);\n }\n\n return { walletAccounts };\n });\n\n return { approval: () => walletAccountsPromise, uri };\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 { addWalletConnectSolanaExtension } from '../walletConnect/addWalletConnectSolanaExtension';\nexport { connectAndVerifyWithWalletConnectSolana } from '../walletConnect/connectAndVerifyWithWalletConnectSolana';\nexport { connectWithWalletConnectSolana } from '../walletConnect/connectWithWalletConnectSolana';\nexport type { WalletConnectSolanaWalletProvider } from '../walletConnect/walletConnectSolanaWalletProvider.types';\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { d as registerSolanaNetworkProviderBuilder, f as name, l as isVersionedTransaction, n as solanaExecuteSwapTransaction, p as version, s as solanaConfirmTransaction, t as solanaTransferAmount } from "./solanaTransferAmount-BqExL4wh.esm.js";
2
- import { t as assertBufferAvailable } from "./assertBufferAvailable-DEfVz5ER.esm.js";
1
+ import { d as registerSolanaNetworkProviderBuilder, f as name, l as isVersionedTransaction, n as solanaExecuteSwapTransaction, p as version, s as solanaConfirmTransaction, t as solanaTransferAmount } from "./solanaTransferAmount-oEHHu9WL.esm.js";
2
+ import { t as assertBufferAvailable } from "./assertBufferAvailable-b4xOlERy.esm.js";
3
3
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
4
4
  import { CHAINS_INFO_MAP, WalletProviderPriority, assertDefined, bufferToBase64, emitEvent, filterDuplicates, formatWalletProviderGroupKey, formatWalletProviderKey, getActiveNetworkIdFromLastKnownRegistry, getCore, getDefaultClient, getWalletProviderRegistry, registerExtension, switchActiveNetworkInLastKnownRegistry, waitForProjectSettings } from "@dynamic-labs-sdk/client/core";
5
5
  import { getActiveNetworkData, getDefaultClient as getDefaultClient$1, hasExtension as hasExtension$1, verifyWalletAccount } from "@dynamic-labs-sdk/client";
@@ -21,7 +21,7 @@ const methodsThatRequireUserAction = [
21
21
  "solana_signAllTransactions",
22
22
  "solana_signAndSendTransaction"
23
23
  ];
24
- /** @not-instrumented */
24
+ /** @notInstrumented */
25
25
  const createWalletProviderFromWalletConnectSolanaSession = async ({ sessionTopic }, client) => {
26
26
  const signClient = await getSignClient(client);
27
27
  const getSession = () => {
@@ -189,7 +189,7 @@ const createWalletProviderFromWalletConnectSolanaSession = async ({ sessionTopic
189
189
 
190
190
  //#endregion
191
191
  //#region src/walletConnect/recoverSolanaWalletConnectWalletProviders/recoverSolanaWalletConnectWalletProviders.ts
192
- /** @not-instrumented */
192
+ /** @notInstrumented */
193
193
  const recoverSolanaWalletConnectWalletProviders = async (client) => {
194
194
  await waitForProjectSettings(client);
195
195
  /**
@@ -211,7 +211,7 @@ const recoverSolanaWalletConnectWalletProviders = async (client) => {
211
211
  //#endregion
212
212
  //#region src/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.ts
213
213
  const WALLET_CONNECT_SOLANA_EXTENSION_KEY = "walletConnectSolana";
214
- /** @not-instrumented */
214
+ /** @notInstrumented */
215
215
  const addWalletConnectSolanaExtension = async (client = getDefaultClient$1()) => {
216
216
  if (hasExtension$1({ extensionKey: WALLET_CONNECT_SOLANA_EXTENSION_KEY }, client)) return;
217
217
  assertBufferAvailable();
@@ -239,7 +239,7 @@ const solanaMethods = [
239
239
 
240
240
  //#endregion
241
241
  //#region src/walletConnect/connectWithWalletConnectSolana/connectWithWalletConnectSolana.ts
242
- /** @not-instrumented */
242
+ /** @notInstrumented */
243
243
  const connectWithWalletConnectSolana = async ({ addToDynamicWalletAccounts = true } = {}, client = getDefaultClient$1()) => {
244
244
  const signClient = await getSignClient(client);
245
245
  assertDefined(client.projectSettings, "Project settings unavailable");
@@ -306,7 +306,7 @@ const connectWithWalletConnectSolana = async ({ addToDynamicWalletAccounts = tru
306
306
  *
307
307
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
308
308
  * @returns A promise that resolves to the connected and verified wallet account.
309
- * @not-instrumented
309
+ * @notInstrumented
310
310
  */
311
311
  const connectAndVerifyWithWalletConnectSolana = async (client = getDefaultClient()) => {
312
312
  const { approval, uri } = await connectWithWalletConnectSolana({ addToDynamicWalletAccounts: false }, client);