@dynamic-labs-sdk/solana 1.31.0 → 1.31.2

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 (87) hide show
  1. package/README.md +22 -0
  2. package/dist/{createWalletProviderFromSolanaStandardWallet-CpSgF7IN.esm.js → addSolanaWalletStandardExtension-CQAVpxFG.esm.js} +56 -4
  3. package/dist/addSolanaWalletStandardExtension-CQAVpxFG.esm.js.map +1 -0
  4. package/dist/{createWalletProviderFromSolanaStandardWallet-CCkxOmSK.cjs → addSolanaWalletStandardExtension-DTQS5msv.cjs} +56 -10
  5. package/dist/addSolanaWalletStandardExtension-DTQS5msv.cjs.map +1 -0
  6. package/dist/{addWaasSolanaExtension-DCOgxPMc.esm.js → addWaasSolanaExtension-CBNPkfTZ.esm.js} +2 -2
  7. package/dist/{addWaasSolanaExtension-DCOgxPMc.esm.js.map → addWaasSolanaExtension-CBNPkfTZ.esm.js.map} +1 -1
  8. package/dist/{addWaasSolanaExtension-CEDmaSAh.cjs → addWaasSolanaExtension-DwpmCWwW.cjs} +2 -2
  9. package/dist/{addWaasSolanaExtension-CEDmaSAh.cjs.map → addWaasSolanaExtension-DwpmCWwW.cjs.map} +1 -1
  10. package/dist/errors/MetaMaskDirectConnectNotSupportedError/MetaMaskDirectConnectNotSupportedError.d.ts +14 -0
  11. package/dist/errors/MetaMaskDirectConnectNotSupportedError/MetaMaskDirectConnectNotSupportedError.d.ts.map +1 -0
  12. package/dist/errors/MetaMaskDirectConnectNotSupportedError/index.d.ts +2 -0
  13. package/dist/errors/MetaMaskDirectConnectNotSupportedError/index.d.ts.map +1 -0
  14. package/dist/exports/metamask.d.ts +3 -0
  15. package/dist/exports/metamask.d.ts.map +1 -1
  16. package/dist/index.cjs +3 -4
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.esm.js +3 -4
  19. package/dist/index.esm.js.map +1 -1
  20. package/dist/metamask/addMetaMaskSolanaExtension/addMetaMaskSolanaExtension.d.ts +23 -0
  21. package/dist/metamask/addMetaMaskSolanaExtension/addMetaMaskSolanaExtension.d.ts.map +1 -0
  22. package/dist/metamask/addMetaMaskSolanaExtension/index.d.ts +2 -0
  23. package/dist/metamask/addMetaMaskSolanaExtension/index.d.ts.map +1 -0
  24. package/dist/metamask/connectWithMetaMaskUriSolana/connectWithMetaMaskUriSolana.d.ts.map +1 -1
  25. package/dist/metamask/createMetaMaskSolanaWalletProvider/createMetaMaskSolanaWalletProvider.d.ts +26 -6
  26. package/dist/metamask/createMetaMaskSolanaWalletProvider/createMetaMaskSolanaWalletProvider.d.ts.map +1 -1
  27. package/dist/metamask/getMetaMaskSolanaSdkWalletProviderKey/getMetaMaskSolanaSdkWalletProviderKey.d.ts +17 -0
  28. package/dist/metamask/getMetaMaskSolanaSdkWalletProviderKey/getMetaMaskSolanaSdkWalletProviderKey.d.ts.map +1 -0
  29. package/dist/metamask/getMetaMaskSolanaSdkWalletProviderKey/index.d.ts +2 -0
  30. package/dist/metamask/getMetaMaskSolanaSdkWalletProviderKey/index.d.ts.map +1 -0
  31. package/dist/metamask/registerMetaMaskSolanaUriConnectionStarter/index.d.ts +2 -0
  32. package/dist/metamask/registerMetaMaskSolanaUriConnectionStarter/index.d.ts.map +1 -0
  33. package/dist/metamask/registerMetaMaskSolanaUriConnectionStarter/registerMetaMaskSolanaUriConnectionStarter.d.ts +22 -0
  34. package/dist/metamask/registerMetaMaskSolanaUriConnectionStarter/registerMetaMaskSolanaUriConnectionStarter.d.ts.map +1 -0
  35. package/dist/metamask/warnMetaMaskSolanaIntegrationIncomplete/index.d.ts +2 -0
  36. package/dist/metamask/warnMetaMaskSolanaIntegrationIncomplete/index.d.ts.map +1 -0
  37. package/dist/metamask/warnMetaMaskSolanaIntegrationIncomplete/warnMetaMaskSolanaIntegrationIncomplete.d.ts +18 -0
  38. package/dist/metamask/warnMetaMaskSolanaIntegrationIncomplete/warnMetaMaskSolanaIntegrationIncomplete.d.ts.map +1 -0
  39. package/dist/metamask.cjs +289 -136
  40. package/dist/metamask.cjs.map +1 -1
  41. package/dist/metamask.esm.js +291 -141
  42. package/dist/metamask.esm.js.map +1 -1
  43. package/dist/{solanaTransferAmount-DFbb8Fnf.cjs → solanaTransferAmount-4hvpXzRi.cjs} +2 -2
  44. package/dist/{solanaTransferAmount-DFbb8Fnf.cjs.map → solanaTransferAmount-4hvpXzRi.cjs.map} +1 -1
  45. package/dist/{solanaTransferAmount-BmcJvD2x.esm.js → solanaTransferAmount-C-2Ct-ry.esm.js} +2 -2
  46. package/dist/{solanaTransferAmount-BmcJvD2x.esm.js.map → solanaTransferAmount-C-2Ct-ry.esm.js.map} +1 -1
  47. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  48. package/dist/waas.cjs +2 -2
  49. package/dist/waas.esm.js +2 -2
  50. package/dist/walletConnect/addWalletConnectSolanaExtension/addWalletConnectSolanaExtension.d.ts.map +1 -1
  51. package/dist/walletConnect/registerWalletConnectSolanaUriConnectionStarter/index.d.ts +2 -0
  52. package/dist/walletConnect/registerWalletConnectSolanaUriConnectionStarter/index.d.ts.map +1 -0
  53. package/dist/walletConnect/registerWalletConnectSolanaUriConnectionStarter/registerWalletConnectSolanaUriConnectionStarter.d.ts +19 -0
  54. package/dist/walletConnect/registerWalletConnectSolanaUriConnectionStarter/registerWalletConnectSolanaUriConnectionStarter.d.ts.map +1 -0
  55. package/dist/walletConnect.cjs +40 -13
  56. package/dist/walletConnect.cjs.map +1 -1
  57. package/dist/walletConnect.esm.js +41 -14
  58. package/dist/walletConnect.esm.js.map +1 -1
  59. package/dist/walletStandard.cjs +2 -3
  60. package/dist/walletStandard.cjs.map +1 -1
  61. package/dist/walletStandard.esm.js +2 -3
  62. package/dist/walletStandard.esm.js.map +1 -1
  63. package/package.json +5 -6
  64. package/dist/addSolanaWalletStandardExtension-BG3AkPK9.esm.js +0 -59
  65. package/dist/addSolanaWalletStandardExtension-BG3AkPK9.esm.js.map +0 -1
  66. package/dist/addSolanaWalletStandardExtension-C2xw3bYp.cjs +0 -65
  67. package/dist/addSolanaWalletStandardExtension-C2xw3bYp.cjs.map +0 -1
  68. package/dist/createWalletProviderFromSolanaStandardWallet-CCkxOmSK.cjs.map +0 -1
  69. package/dist/createWalletProviderFromSolanaStandardWallet-CpSgF7IN.esm.js.map +0 -1
  70. package/dist/metamask/metamask.types.d.ts +0 -14
  71. package/dist/metamask/metamask.types.d.ts.map +0 -1
  72. package/dist/metamask/utils/createMetaMaskSolanaController/createMetaMaskSolanaController.d.ts +0 -20
  73. package/dist/metamask/utils/createMetaMaskSolanaController/createMetaMaskSolanaController.d.ts.map +0 -1
  74. package/dist/metamask/utils/createMetaMaskSolanaController/index.d.ts +0 -2
  75. package/dist/metamask/utils/createMetaMaskSolanaController/index.d.ts.map +0 -1
  76. package/dist/metamask/utils/getOrCreateMetaMaskSolanaController/getOrCreateMetaMaskSolanaController.d.ts +0 -20
  77. package/dist/metamask/utils/getOrCreateMetaMaskSolanaController/getOrCreateMetaMaskSolanaController.d.ts.map +0 -1
  78. package/dist/metamask/utils/getOrCreateMetaMaskSolanaController/index.d.ts +0 -2
  79. package/dist/metamask/utils/getOrCreateMetaMaskSolanaController/index.d.ts.map +0 -1
  80. package/dist/metamask/utils/getSolanaNetworkFromCluster/getSolanaNetworkFromCluster.d.ts +0 -18
  81. package/dist/metamask/utils/getSolanaNetworkFromCluster/getSolanaNetworkFromCluster.d.ts.map +0 -1
  82. package/dist/metamask/utils/getSolanaNetworkFromCluster/index.d.ts +0 -3
  83. package/dist/metamask/utils/getSolanaNetworkFromCluster/index.d.ts.map +0 -1
  84. package/dist/metamask/utils/getSupportedNetworks/getSupportedNetworks.d.ts +0 -16
  85. package/dist/metamask/utils/getSupportedNetworks/getSupportedNetworks.d.ts.map +0 -1
  86. package/dist/metamask/utils/getSupportedNetworks/index.d.ts +0 -2
  87. package/dist/metamask/utils/getSupportedNetworks/index.d.ts.map +0 -1
@@ -2,15 +2,35 @@ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
2
  import type { SolanaWalletProvider } from '../../SolanaWalletProvider.types';
3
3
  /**
4
4
  * Builds the `SolanaWalletProvider` registered AFTER a successful MetaMask
5
- * SDK URI pairing. Wraps the paired Wallet Standard wallet exposed by
6
- * `@metamask/connect-solana` behind the Dynamic Solana provider facade and
7
- * classifies it as `QrCode` so its key does not collide with an announced
8
- * MetaMask browser-extension provider for the same wallet name. Drops
9
- * `connect` so the provider is filtered out of the wallet picker by
5
+ * SDK URI pairing. Unlike the EVM facade, MetaMask does not expose a typed
6
+ * RPC surface for Solana, so this drives `invokeMethod` directly against the
7
+ * documented `signMessage` / `signTransaction` / `signAndSendTransaction`
8
+ * methods (see https://docs.metamask.io/metamask-connect/multichain/guides/sign-transactions/
9
+ * and .../send-transactions/), scoped to `solana:<genesisHash>` per CAIP-2
10
+ * MetaMask's multichain session grants every configured network as its own
11
+ * scope up front, so "the active network" is tracked in Dynamic's own
12
+ * last-known-network registry rather than asked of the SDK. Drops `connect`
13
+ * so the provider is filtered out of the wallet picker by
10
14
  * `getAvailableWalletProvidersData` — mirroring how WalletConnect URI
11
15
  * sessions register a signing-only provider.
12
16
  *
17
+ * MetaMask's multichain API does not document a batch-signing method for
18
+ * Solana, so `signAllTransactions` signs each transaction with its own
19
+ * `signTransaction` call (sequential wallet prompts) rather than one batch
20
+ * approval.
21
+ *
22
+ * `getConnectedAddresses` and `switchActiveNetwork` route through
23
+ * `resolveActiveMetaMaskScope`/`assertMetaMaskNetworkIsGranted` rather than
24
+ * the registry directly, since every configured network is requested as an
25
+ * *optional* scope -- MetaMask may grant an account for only a subset (see
26
+ * their JSDoc).
27
+ *
28
+ * `switchActiveNetwork`/`disconnectWalletAccount` are local, Dynamic-side
29
+ * actions with no live wallet event to bridge, so they emit `networkChanged`/
30
+ * `disconnected` themselves via `metaMaskEvents` -- otherwise `events` would
31
+ * never fire for MetaMask at all.
32
+ *
13
33
  * @notInstrumented
14
34
  */
15
- export declare const createMetaMaskSolanaWalletProvider: (client: DynamicClient) => Promise<SolanaWalletProvider>;
35
+ export declare const createMetaMaskSolanaWalletProvider: (client: DynamicClient) => SolanaWalletProvider;
16
36
  //# sourceMappingURL=createMetaMaskSolanaWalletProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMetaMaskSolanaWalletProvider.d.ts","sourceRoot":"","sources":["../../../src/metamask/createMetaMaskSolanaWalletProvider/createMetaMaskSolanaWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAI7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,WACrC,aAAa,KACpB,OAAO,CAAC,oBAAoB,CAsB9B,CAAC"}
1
+ {"version":3,"file":"createMetaMaskSolanaWalletProvider.d.ts","sourceRoot":"","sources":["../../../src/metamask/createMetaMaskSolanaWalletProvider/createMetaMaskSolanaWalletProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAuB9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAU7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,kCAAkC,WACrC,aAAa,KACpB,oBA0QF,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Deterministic wallet provider key for the MetaMask SDK's connect-less
3
+ * Solana placeholder. Computed without building the wallet provider itself,
4
+ * so `addMetaMaskSolanaExtension` can check for a matching wallet account
5
+ * before paying the cost of `createMetaMaskSolanaWalletProvider`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const key = getMetaMaskSolanaSdkWalletProviderKey();
10
+ * ```
11
+ * @returns The deterministic wallet provider key.
12
+ * @see createMetaMaskSolanaWalletProvider
13
+ * @see reconcileMetaMaskWalletProvider
14
+ * @notInstrumented
15
+ */
16
+ export declare const getMetaMaskSolanaSdkWalletProviderKey: () => string;
17
+ //# sourceMappingURL=getMetaMaskSolanaSdkWalletProviderKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaMaskSolanaSdkWalletProviderKey.d.ts","sourceRoot":"","sources":["../../../src/metamask/getMetaMaskSolanaSdkWalletProviderKey/getMetaMaskSolanaSdkWalletProviderKey.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qCAAqC,QAAO,MAKrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getMetaMaskSolanaSdkWalletProviderKey } from './getMetaMaskSolanaSdkWalletProviderKey';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/metamask/getMetaMaskSolanaSdkWalletProviderKey/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { registerMetaMaskSolanaUriConnectionStarter } from './registerMetaMaskSolanaUriConnectionStarter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/metamask/registerMetaMaskSolanaUriConnectionStarter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0CAA0C,EAAE,MAAM,8CAA8C,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Registers the MetaMask SDK URI pairing for Solana with the client, so higher
3
+ * level connection APIs can mint a MetaMask URI for Solana without depending on
4
+ * this package.
5
+ *
6
+ * Call it during app setup to opt into the MetaMask URI path — it is kept out
7
+ * of the Solana extension so apps that never pair with MetaMask over a URI
8
+ * don't bundle the MetaMask SDK.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * registerMetaMaskSolanaUriConnectionStarter();
13
+ * ```
14
+ *
15
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
16
+ * @returns Nothing.
17
+ * @see connectWithMetaMaskUriSolana
18
+ * @see getUriConnectionStarterRegistry
19
+ * @notInstrumented
20
+ */
21
+ export declare const registerMetaMaskSolanaUriConnectionStarter: (client?: import("@dynamic-labs-sdk/client").DynamicClient) => void;
22
+ //# sourceMappingURL=registerMetaMaskSolanaUriConnectionStarter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerMetaMaskSolanaUriConnectionStarter.d.ts","sourceRoot":"","sources":["../../../src/metamask/registerMetaMaskSolanaUriConnectionStarter/registerMetaMaskSolanaUriConnectionStarter.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,0CAA0C,iEAEpD,IAOF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { warnMetaMaskSolanaIntegrationIncomplete } from './warnMetaMaskSolanaIntegrationIncomplete';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/metamask/warnMetaMaskSolanaIntegrationIncomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Warns when `addMetaMaskSolanaExtension()` hasn't been added, since a
4
+ * wallet connected via `connectWithMetaMaskUriSolana` without it won't be
5
+ * restored after a page reload.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * warnMetaMaskSolanaIntegrationIncomplete(client);
10
+ * ```
11
+ * @param client - The Dynamic client instance.
12
+ * @returns void
13
+ * @see connectWithMetaMaskUriSolana
14
+ * @see addMetaMaskSolanaExtension
15
+ * @notInstrumented
16
+ */
17
+ export declare const warnMetaMaskSolanaIntegrationIncomplete: (client: DynamicClient) => void;
18
+ //# sourceMappingURL=warnMetaMaskSolanaIntegrationIncomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnMetaMaskSolanaIntegrationIncomplete.d.ts","sourceRoot":"","sources":["../../../src/metamask/warnMetaMaskSolanaIntegrationIncomplete/warnMetaMaskSolanaIntegrationIncomplete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uCAAuC,WAC1C,aAAa,KACpB,IAeF,CAAC"}