@dynamic-labs-sdk/metamask 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 (127) hide show
  1. package/dist/assertMetaMaskNetworkIsGranted/assertMetaMaskNetworkIsGranted.d.ts +37 -0
  2. package/dist/assertMetaMaskNetworkIsGranted/assertMetaMaskNetworkIsGranted.d.ts.map +1 -0
  3. package/dist/assertMetaMaskNetworkIsGranted/index.d.ts +2 -0
  4. package/dist/assertMetaMaskNetworkIsGranted/index.d.ts.map +1 -0
  5. package/dist/clearMetaMaskSessionStorage/clearMetaMaskSessionStorage.d.ts +6 -6
  6. package/dist/clearMetaMaskSessionStorage/clearMetaMaskSessionStorage.d.ts.map +1 -1
  7. package/dist/connectWithMetaMaskUri/connectWithMetaMaskUri.d.ts +3 -8
  8. package/dist/connectWithMetaMaskUri/connectWithMetaMaskUri.d.ts.map +1 -1
  9. package/dist/constants.d.ts +8 -0
  10. package/dist/constants.d.ts.map +1 -0
  11. package/dist/core.cjs +465 -0
  12. package/dist/core.cjs.map +1 -0
  13. package/dist/core.esm.js +459 -0
  14. package/dist/core.esm.js.map +1 -0
  15. package/dist/core.native.esm.js +459 -0
  16. package/dist/core.native.esm.js.map +1 -0
  17. package/dist/createMetaMaskWalletProviderEventEmitter/createMetaMaskWalletProviderEventEmitter.d.ts +44 -0
  18. package/dist/createMetaMaskWalletProviderEventEmitter/createMetaMaskWalletProviderEventEmitter.d.ts.map +1 -0
  19. package/dist/createMetaMaskWalletProviderEventEmitter/index.d.ts +3 -0
  20. package/dist/createMetaMaskWalletProviderEventEmitter/index.d.ts.map +1 -0
  21. package/dist/disconnectMetaMaskWalletProvider/disconnectMetaMaskWalletProvider.d.ts +56 -0
  22. package/dist/disconnectMetaMaskWalletProvider/disconnectMetaMaskWalletProvider.d.ts.map +1 -0
  23. package/dist/disconnectMetaMaskWalletProvider/index.d.ts +3 -0
  24. package/dist/disconnectMetaMaskWalletProvider/index.d.ts.map +1 -0
  25. package/dist/errors/MetaMaskClientNotInitializedError/MetaMaskClientNotInitializedError.d.ts +12 -0
  26. package/dist/errors/MetaMaskClientNotInitializedError/MetaMaskClientNotInitializedError.d.ts.map +1 -0
  27. package/dist/errors/MetaMaskClientNotInitializedError/index.d.ts +2 -0
  28. package/dist/errors/MetaMaskClientNotInitializedError/index.d.ts.map +1 -0
  29. package/dist/errors/MetaMaskDisplayUriMissingError/MetaMaskDisplayUriMissingError.d.ts +21 -0
  30. package/dist/errors/MetaMaskDisplayUriMissingError/MetaMaskDisplayUriMissingError.d.ts.map +1 -1
  31. package/dist/errors/MetaMaskStorageError/MetaMaskStorageError.d.ts +12 -0
  32. package/dist/errors/MetaMaskStorageError/MetaMaskStorageError.d.ts.map +1 -0
  33. package/dist/errors/MetaMaskStorageError/index.d.ts +2 -0
  34. package/dist/errors/MetaMaskStorageError/index.d.ts.map +1 -0
  35. package/dist/errors/MetaMaskUnscopedNetworkError/MetaMaskUnscopedNetworkError.d.ts +29 -0
  36. package/dist/errors/MetaMaskUnscopedNetworkError/MetaMaskUnscopedNetworkError.d.ts.map +1 -0
  37. package/dist/errors/MetaMaskUnscopedNetworkError/index.d.ts +2 -0
  38. package/dist/errors/MetaMaskUnscopedNetworkError/index.d.ts.map +1 -0
  39. package/dist/errors/UnsupportedMetaMaskChainError/UnsupportedMetaMaskChainError.d.ts +9 -0
  40. package/dist/errors/UnsupportedMetaMaskChainError/UnsupportedMetaMaskChainError.d.ts.map +1 -0
  41. package/dist/errors/UnsupportedMetaMaskChainError/index.d.ts +2 -0
  42. package/dist/errors/UnsupportedMetaMaskChainError/index.d.ts.map +1 -0
  43. package/dist/exports/core.d.ts +21 -0
  44. package/dist/exports/core.d.ts.map +1 -0
  45. package/dist/exports/index.d.ts +2 -2
  46. package/dist/exports/index.d.ts.map +1 -1
  47. package/dist/getGrantedMetaMaskScopes/getGrantedMetaMaskScopes.d.ts +40 -0
  48. package/dist/getGrantedMetaMaskScopes/getGrantedMetaMaskScopes.d.ts.map +1 -0
  49. package/dist/getGrantedMetaMaskScopes/index.d.ts +3 -0
  50. package/dist/getGrantedMetaMaskScopes/index.d.ts.map +1 -0
  51. package/dist/getMetaMaskExtensionWalletProviderKey/getMetaMaskExtensionWalletProviderKey.d.ts +1 -1
  52. package/dist/getMetaMaskScopeForNetworkId/getMetaMaskScopeForNetworkId.d.ts +39 -0
  53. package/dist/getMetaMaskScopeForNetworkId/getMetaMaskScopeForNetworkId.d.ts.map +1 -0
  54. package/dist/getMetaMaskScopeForNetworkId/index.d.ts +2 -0
  55. package/dist/getMetaMaskScopeForNetworkId/index.d.ts.map +1 -0
  56. package/dist/getMetaMaskScopes/getMetaMaskScopes.d.ts +28 -0
  57. package/dist/getMetaMaskScopes/getMetaMaskScopes.d.ts.map +1 -0
  58. package/dist/getMetaMaskScopes/index.d.ts +2 -0
  59. package/dist/getMetaMaskScopes/index.d.ts.map +1 -0
  60. package/dist/getMetaMaskSupportedNetworks/getMetaMaskSupportedNetworks.d.ts +23 -0
  61. package/dist/getMetaMaskSupportedNetworks/getMetaMaskSupportedNetworks.d.ts.map +1 -0
  62. package/dist/getMetaMaskSupportedNetworks/index.d.ts +2 -0
  63. package/dist/getMetaMaskSupportedNetworks/index.d.ts.map +1 -0
  64. package/dist/getNetworkIdFromMetaMaskScope/getNetworkIdFromMetaMaskScope.d.ts +35 -0
  65. package/dist/getNetworkIdFromMetaMaskScope/getNetworkIdFromMetaMaskScope.d.ts.map +1 -0
  66. package/dist/getNetworkIdFromMetaMaskScope/index.d.ts +2 -0
  67. package/dist/getNetworkIdFromMetaMaskScope/index.d.ts.map +1 -0
  68. package/dist/getOrCreateMetaMaskClientInstanceManager-BLrtpngZ.esm.js +621 -0
  69. package/dist/getOrCreateMetaMaskClientInstanceManager-BLrtpngZ.esm.js.map +1 -0
  70. package/dist/getOrCreateMetaMaskClientInstanceManager-C2FCB8yy.cjs +708 -0
  71. package/dist/getOrCreateMetaMaskClientInstanceManager-C2FCB8yy.cjs.map +1 -0
  72. package/dist/getOrCreateMetaMaskClientInstanceManager-DbH0IJjn.native.esm.js +621 -0
  73. package/dist/getOrCreateMetaMaskClientInstanceManager-DbH0IJjn.native.esm.js.map +1 -0
  74. package/dist/getScopeAccountsFromMetaMaskClient/getScopeAccountsFromMetaMaskClient.d.ts +38 -0
  75. package/dist/getScopeAccountsFromMetaMaskClient/getScopeAccountsFromMetaMaskClient.d.ts.map +1 -0
  76. package/dist/getScopeAccountsFromMetaMaskClient/index.d.ts +2 -0
  77. package/dist/getScopeAccountsFromMetaMaskClient/index.d.ts.map +1 -0
  78. package/dist/index.cjs +57 -57
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.esm.js +56 -56
  81. package/dist/index.esm.js.map +1 -1
  82. package/dist/index.native.esm.js +56 -78
  83. package/dist/index.native.esm.js.map +1 -1
  84. package/dist/metaMaskClientInstanceManager/createMetaMaskClientInstanceManager/createMetaMaskClientInstanceManager.d.ts +45 -0
  85. package/dist/metaMaskClientInstanceManager/createMetaMaskClientInstanceManager/createMetaMaskClientInstanceManager.d.ts.map +1 -0
  86. package/dist/metaMaskClientInstanceManager/createMetaMaskClientInstanceManager/index.d.ts +2 -0
  87. package/dist/metaMaskClientInstanceManager/createMetaMaskClientInstanceManager/index.d.ts.map +1 -0
  88. package/dist/metaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager.d.ts +18 -0
  89. package/dist/metaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager.d.ts.map +1 -0
  90. package/dist/metaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager/index.d.ts +2 -0
  91. package/dist/metaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager/index.d.ts.map +1 -0
  92. package/dist/metaMaskStorage/clearMetaMaskStorage/clearMetaMaskStorage.d.ts +23 -0
  93. package/dist/metaMaskStorage/clearMetaMaskStorage/clearMetaMaskStorage.d.ts.map +1 -0
  94. package/dist/metaMaskStorage/clearMetaMaskStorage/index.d.ts +2 -0
  95. package/dist/metaMaskStorage/clearMetaMaskStorage/index.d.ts.map +1 -0
  96. package/dist/metaMaskStorage/createInitialMetaMaskStoreValue/createInitialMetaMaskStoreValue.d.ts +19 -0
  97. package/dist/metaMaskStorage/createInitialMetaMaskStoreValue/createInitialMetaMaskStoreValue.d.ts.map +1 -0
  98. package/dist/metaMaskStorage/createMetaMaskStorageClient/createMetaMaskStorageClient.d.ts +30 -0
  99. package/dist/metaMaskStorage/createMetaMaskStorageClient/createMetaMaskStorageClient.d.ts.map +1 -0
  100. package/dist/metaMaskStorage/createMetaMaskStorageClient/index.d.ts +2 -0
  101. package/dist/metaMaskStorage/createMetaMaskStorageClient/index.d.ts.map +1 -0
  102. package/dist/metaMaskStorage/metaMaskStorage.schema.d.ts +30 -0
  103. package/dist/metaMaskStorage/metaMaskStorage.schema.d.ts.map +1 -0
  104. package/dist/metaMaskStorage/queueMetaMaskStorageWrite/queueMetaMaskStorageWrite.d.ts +20 -0
  105. package/dist/metaMaskStorage/queueMetaMaskStorageWrite/queueMetaMaskStorageWrite.d.ts.map +1 -0
  106. package/dist/metamask.types.d.ts +0 -20
  107. package/dist/metamask.types.d.ts.map +1 -1
  108. package/dist/reconcileMetaMaskWalletProvider/index.d.ts +3 -0
  109. package/dist/reconcileMetaMaskWalletProvider/index.d.ts.map +1 -0
  110. package/dist/reconcileMetaMaskWalletProvider/reconcileMetaMaskWalletProvider.d.ts +60 -0
  111. package/dist/reconcileMetaMaskWalletProvider/reconcileMetaMaskWalletProvider.d.ts.map +1 -0
  112. package/dist/resolveActiveMetaMaskScope/index.d.ts +3 -0
  113. package/dist/resolveActiveMetaMaskScope/index.d.ts.map +1 -0
  114. package/dist/resolveActiveMetaMaskScope/resolveActiveMetaMaskScope.d.ts +67 -0
  115. package/dist/resolveActiveMetaMaskScope/resolveActiveMetaMaskScope.d.ts.map +1 -0
  116. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  117. package/dist/utils/clearMetaMaskSdkSingleton/clearMetaMaskSdkSingleton.d.ts +23 -0
  118. package/dist/utils/clearMetaMaskSdkSingleton/clearMetaMaskSdkSingleton.d.ts.map +1 -0
  119. package/dist/utils/createMetaMaskPreferredOpenLink/createMetaMaskPreferredOpenLink.d.ts +21 -0
  120. package/dist/utils/createMetaMaskPreferredOpenLink/createMetaMaskPreferredOpenLink.d.ts.map +1 -0
  121. package/dist/utils/createMetaMaskPreferredOpenLink/index.d.ts +2 -0
  122. package/dist/utils/createMetaMaskPreferredOpenLink/index.d.ts.map +1 -0
  123. package/package.json +11 -3
  124. package/dist/errors/MetaMaskWalletNotConnectedError/MetaMaskWalletNotConnectedError.d.ts +0 -5
  125. package/dist/errors/MetaMaskWalletNotConnectedError/MetaMaskWalletNotConnectedError.d.ts.map +0 -1
  126. package/dist/errors/MetaMaskWalletNotConnectedError/index.d.ts +0 -2
  127. package/dist/errors/MetaMaskWalletNotConnectedError/index.d.ts.map +0 -1
@@ -0,0 +1,12 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when `getMetaMaskClient()` is called but the underlying
4
+ * `@metamask/connect-multichain` client failed to initialize -- this should
5
+ * be unreachable in practice, since `getMetaMaskClient` always triggers
6
+ * `refreshMetaMaskClient` first when no client promise exists yet, but it
7
+ * guards against a future change silently returning `undefined` instead.
8
+ */
9
+ export declare class MetaMaskClientNotInitializedError extends BaseError {
10
+ constructor();
11
+ }
12
+ //# sourceMappingURL=MetaMaskClientNotInitializedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaMaskClientNotInitializedError.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskClientNotInitializedError/MetaMaskClientNotInitializedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,iCAAkC,SAAQ,SAAS;;CAU/D"}
@@ -0,0 +1,2 @@
1
+ export { MetaMaskClientNotInitializedError } from './MetaMaskClientNotInitializedError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskClientNotInitializedError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,4 +1,25 @@
1
1
  import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when the MetaMask SDK's `connect()` call settles (resolves or
4
+ * rejects) without ever emitting a `display_uri` event. `connectWithMetaMaskUri`
5
+ * requires that event to produce the pairing URI/QR code; without it, there
6
+ * is nothing to render and the caller would otherwise hang indefinitely
7
+ * awaiting a URI that will never arrive.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * try {
12
+ * await connectWithMetaMaskUri({ onDisplayUri }, client);
13
+ * } catch (error) {
14
+ * if (error instanceof MetaMaskDisplayUriMissingError) {
15
+ * // The MetaMask SDK never produced a pairing URI; surface a generic
16
+ * // connection failure instead of hanging.
17
+ * }
18
+ * }
19
+ * ```
20
+ * @see connectWithMetaMaskUri
21
+ * @see MetaMaskUnscopedNetworkError
22
+ */
2
23
  export declare class MetaMaskDisplayUriMissingError extends BaseError {
3
24
  constructor();
4
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MetaMaskDisplayUriMissingError.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskDisplayUriMissingError/MetaMaskDisplayUriMissingError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,qBAAa,8BAA+B,SAAQ,SAAS;;CAW5D"}
1
+ {"version":3,"file":"MetaMaskDisplayUriMissingError.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskDisplayUriMissingError/MetaMaskDisplayUriMissingError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,8BAA+B,SAAQ,SAAS;;CAW5D"}
@@ -0,0 +1,12 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ type MetaMaskStorageErrorParams = {
3
+ cause: unknown;
4
+ key: string;
5
+ operation: 'get' | 'set' | 'delete';
6
+ };
7
+ /** Thrown when the underlying storage service rejects a read/write/delete for the MetaMask multichain client's own store (e.g. quota exceeded, private-browsing restrictions). */
8
+ export declare class MetaMaskStorageError extends BaseError {
9
+ constructor({ cause, key, operation }: MetaMaskStorageErrorParams);
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=MetaMaskStorageError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaMaskStorageError.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskStorageError/MetaMaskStorageError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;CACrC,CAAC;AAEF,kLAAkL;AAClL,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,0BAA0B;CASlE"}
@@ -0,0 +1,2 @@
1
+ export { MetaMaskStorageError } from './MetaMaskStorageError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskStorageError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /**
3
+ * Thrown when attempting to switch a MetaMask multichain wallet provider to
4
+ * a network whose CAIP-2 scope was requested at connect time but never
5
+ * granted an account by MetaMask in the current session (e.g. the user only
6
+ * approved mainnet, not a preconfigured devnet, during pairing). Switching
7
+ * to it anyway would silently break every subsequent signing/sending call
8
+ * on that network, since MetaMask rejects those against an ungranted scope.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * try {
13
+ * await switchActiveNetwork({ networkId: '103', walletAccount });
14
+ * } catch (error) {
15
+ * if (error instanceof MetaMaskUnscopedNetworkError) {
16
+ * // Tell the user to approve this network in MetaMask, then retry.
17
+ * }
18
+ * }
19
+ * ```
20
+ * @see assertMetaMaskNetworkIsGranted
21
+ * @see resolveActiveMetaMaskScope
22
+ */
23
+ export declare class MetaMaskUnscopedNetworkError extends BaseError {
24
+ constructor({ networkId, scope }: {
25
+ networkId: string;
26
+ scope: string;
27
+ });
28
+ }
29
+ //# sourceMappingURL=MetaMaskUnscopedNetworkError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetaMaskUnscopedNetworkError.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskUnscopedNetworkError/MetaMaskUnscopedNetworkError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,4BAA6B,SAAQ,SAAS;gBAC7C,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAUvE"}
@@ -0,0 +1,2 @@
1
+ export { MetaMaskUnscopedNetworkError } from './MetaMaskUnscopedNetworkError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/MetaMaskUnscopedNetworkError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { BaseError } from '@dynamic-labs-sdk/client';
2
+ /** Thrown when a chain has no MetaMask multichain scope mapping defined. */
3
+ export declare class UnsupportedMetaMaskChainError extends BaseError {
4
+ constructor({ chain, supportedChains, }: {
5
+ chain: string;
6
+ supportedChains: string[];
7
+ });
8
+ }
9
+ //# sourceMappingURL=UnsupportedMetaMaskChainError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnsupportedMetaMaskChainError.d.ts","sourceRoot":"","sources":["../../../src/errors/UnsupportedMetaMaskChainError/UnsupportedMetaMaskChainError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,4EAA4E;AAC5E,qBAAa,6BAA8B,SAAQ,SAAS;gBAC9C,EACV,KAAK,EACL,eAAe,GAChB,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B;CASF"}
@@ -0,0 +1,2 @@
1
+ export { UnsupportedMetaMaskChainError } from './UnsupportedMetaMaskChainError';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/UnsupportedMetaMaskChainError/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @categoryDescription Extension Development
3
+ * Core utilities and functions for building MetaMask SDK extensions.
4
+ * These APIs provide low-level access to the SDK internals and are intended
5
+ * for advanced use cases and extension development. Most applications should
6
+ * use the higher-level APIs exported from the main SDK package instead.
7
+ */
8
+ /** @category Extension Development */
9
+ export { assertMetaMaskNetworkIsGranted } from '../assertMetaMaskNetworkIsGranted';
10
+ export { createMetaMaskWalletProviderEventEmitter } from '../createMetaMaskWalletProviderEventEmitter';
11
+ export type { MetaMaskWalletProviderEventEmitter } from '../createMetaMaskWalletProviderEventEmitter';
12
+ export { disconnectMetaMaskWalletProvider } from '../disconnectMetaMaskWalletProvider';
13
+ export type { DisconnectMetaMaskWalletProviderParams } from '../disconnectMetaMaskWalletProvider';
14
+ /** @category Extension Development */
15
+ export { getOrCreateMetaMaskClientInstanceManager } from '../metaMaskClientInstanceManager/getOrCreateMetaMaskClientInstanceManager';
16
+ export { clearMetaMaskStorage } from '../metaMaskStorage/clearMetaMaskStorage';
17
+ export { reconcileMetaMaskWalletProvider } from '../reconcileMetaMaskWalletProvider';
18
+ export type { ReconcileMetaMaskWalletProviderParams } from '../reconcileMetaMaskWalletProvider';
19
+ export { resolveActiveMetaMaskScope } from '../resolveActiveMetaMaskScope';
20
+ export type { ResolveActiveMetaMaskScopeResult } from '../resolveActiveMetaMaskScope';
21
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/exports/core.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH,sCAAsC;AACtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,wCAAwC,EAAE,MAAM,6CAA6C,CAAC;AACvG,YAAY,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AACvF,YAAY,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAClG,sCAAsC;AACtC,OAAO,EAAE,wCAAwC,EAAE,MAAM,2EAA2E,CAAC;AACrI,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,YAAY,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC"}
@@ -2,7 +2,7 @@ export { clearMetaMaskSessionStorage } from '../clearMetaMaskSessionStorage';
2
2
  export { connectWithMetaMaskUri } from '../connectWithMetaMaskUri';
3
3
  export type { ConnectWithMetaMaskUriParams } from '../connectWithMetaMaskUri';
4
4
  export { MetaMaskDisplayUriMissingError } from '../errors/MetaMaskDisplayUriMissingError';
5
- export { MetaMaskWalletNotConnectedError } from '../errors/MetaMaskWalletNotConnectedError';
5
+ export { MetaMaskUnscopedNetworkError } from '../errors/MetaMaskUnscopedNetworkError';
6
6
  export { getMetaMaskExtensionWalletProviderKey } from '../getMetaMaskExtensionWalletProviderKey';
7
- export type { DisplayUriListener, MetaMaskController, } from '../metamask.types';
7
+ export type { DisplayUriListener } from '../metamask.types';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AACjG,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exports/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AACjG,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ import type { MultichainCore } from '@metamask/connect-multichain';
3
+ type Session = Awaited<ReturnType<MultichainCore['provider']['getSession']>>;
4
+ type SessionScopes = NonNullable<Session>['sessionScopes'];
5
+ type ScopeKey = keyof SessionScopes;
6
+ type ScopeAccounts = NonNullable<SessionScopes[ScopeKey]['accounts']>;
7
+ export type GrantedMetaMaskScope = {
8
+ accounts: ScopeAccounts;
9
+ scope: ScopeKey;
10
+ };
11
+ export type GetGrantedMetaMaskScopesParams = {
12
+ metaMaskClient: MultichainCore;
13
+ };
14
+ /**
15
+ * Enumerates every CAIP-2 scope in the current session that MetaMask
16
+ * actually granted at least one account for. Every scope requested at
17
+ * `connect()` time (see `getMetaMaskScopes`) is sent as an *optional*
18
+ * CAIP-25 scope, never a required one, so MetaMask is free to approve only a
19
+ * subset -- `session.sessionScopes` still has a key for every requested
20
+ * scope, just with an empty `accounts` array for the ones that weren't
21
+ * granted. This filters those out, replacing direct `provider.getSession()`
22
+ * access so chain packages never touch the raw session shape.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const granted = await getGrantedMetaMaskScopes({ metaMaskClient }, client);
27
+ * // [{ scope: 'eip155:1', accounts: ['eip155:1:0x...'] }]
28
+ * ```
29
+ *
30
+ * @param client - The Dynamic client instance whose logger this reports
31
+ * against. Required (rather than defaulting to the last-initialized client)
32
+ * so an empty result is always traceable to the client that requested it.
33
+ * @returns The scopes with at least one granted account, and their accounts.
34
+ * @see createMetaMaskMultichainClient
35
+ * @see resolveActiveMetaMaskScope
36
+ * @notInstrumented
37
+ */
38
+ export declare const getGrantedMetaMaskScopes: ({ metaMaskClient }: GetGrantedMetaMaskScopesParams, client: DynamicClient) => Promise<GrantedMetaMaskScope[]>;
39
+ export {};
40
+ //# sourceMappingURL=getGrantedMetaMaskScopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGrantedMetaMaskScopes.d.ts","sourceRoot":"","sources":["../../src/getGrantedMetaMaskScopes/getGrantedMetaMaskScopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC7E,KAAK,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC;AAC3D,KAAK,QAAQ,GAAG,MAAM,aAAa,CAAC;AACpC,KAAK,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,wBAAwB,uBACf,8BAA8B,UAC1C,aAAa,KACpB,OAAO,CAAC,oBAAoB,EAAE,CAoBhC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { getGrantedMetaMaskScopes } from './getGrantedMetaMaskScopes';
2
+ export type { GrantedMetaMaskScope } from './getGrantedMetaMaskScopes';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getGrantedMetaMaskScopes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -24,7 +24,7 @@ type GetMetaMaskExtensionWalletProviderKeyParams = {
24
24
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
25
25
  * @returns The wallet provider key string, or `undefined` if no MetaMask extension is announced.
26
26
  * @see connectWithMetaMaskUri
27
- * @see clearMetaMaskSessionStorage
27
+ * @see clearMetaMaskStorage
28
28
  * @notInstrumented
29
29
  */
30
30
  export declare const getMetaMaskExtensionWalletProviderKey: ({ chain }: GetMetaMaskExtensionWalletProviderKeyParams, client?: DynamicClient) => string | undefined;
@@ -0,0 +1,39 @@
1
+ import type { Chain, DynamicClient } from '@dynamic-labs-sdk/client';
2
+ import type { RPCAPI, Scope } from '@metamask/connect-multichain';
3
+ export type GetMetaMaskScopeForNetworkIdParams = {
4
+ chain: Chain;
5
+ networkId: string;
6
+ };
7
+ /**
8
+ * Maps a single Dynamic-configured network to its CAIP-2 MetaMask
9
+ * multichain scope -- the same per-network mapping `getMetaMaskScopes`
10
+ * applies to every configured network at once, extracted so callers that
11
+ * already have one `networkId` (e.g. the "active network" registry) don't
12
+ * need to rebuild and filter the whole configured list to find it.
13
+ *
14
+ * EVM's `networkId` IS the CAIP-2 reference (`eip155:<networkId>`); SOL's
15
+ * `networkId` is an internal routing id, so the network's base58 genesis
16
+ * hash is used instead (`solana:<genesisHash>`). Returns `undefined` when no
17
+ * configured SOL network matches, or matches but has no genesis hash --
18
+ * these are normal ("this networkId isn't usable as a MetaMask scope"), not
19
+ * error conditions.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const scope = getMetaMaskScopeForNetworkId(
24
+ * { chain: 'SOL', networkId: '101' },
25
+ * client
26
+ * );
27
+ * // 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'
28
+ * ```
29
+ *
30
+ * @returns The CAIP-2 scope for `networkId`, or `undefined` if it can't be
31
+ * expressed as one (e.g. a SOL network with no genesis hash configured).
32
+ * @throws {UnsupportedMetaMaskChainError} If `chain` isn't a chain MetaMask
33
+ * scopes can be built for.
34
+ * @see getMetaMaskScopes
35
+ * @see getNetworkIdFromMetaMaskScope
36
+ * @notInstrumented
37
+ */
38
+ export declare const getMetaMaskScopeForNetworkId: ({ chain, networkId }: GetMetaMaskScopeForNetworkIdParams, client: DynamicClient) => Scope<RPCAPI> | undefined;
39
+ //# sourceMappingURL=getMetaMaskScopeForNetworkId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaMaskScopeForNetworkId.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskScopeForNetworkId/getMetaMaskScopeForNetworkId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAKlE,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,4BAA4B,yBACjB,kCAAkC,UAChD,aAAa,KACpB,KAAK,CAAC,MAAM,CAAC,GAAG,SAmBlB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getMetaMaskScopeForNetworkId } from './getMetaMaskScopeForNetworkId';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskScopeForNetworkId/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Chain, DynamicClient } from '@dynamic-labs-sdk/client';
2
+ import type { RPCAPI, Scope } from '@metamask/connect-multichain';
3
+ type GetMetaMaskScopesOptions = {
4
+ chain: Chain;
5
+ };
6
+ /**
7
+ * Builds the CAIP-2 scopes to request for a chain's MetaMask multichain
8
+ * session, one per configured network. SOL scopes use the network's genesis
9
+ * hash (not `networkId`, which is an internal routing id for SOL) since
10
+ * that's the CAIP-2 reference MetaMask expects.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const scopes = getMetaMaskScopes({ chain: 'EVM' }, client);
15
+ * // ['eip155:1', 'eip155:137']
16
+ * ```
17
+ *
18
+ * @returns The CAIP-2 scopes for every configured network of `chain` that
19
+ * can be expressed as one.
20
+ * @throws {UnsupportedMetaMaskChainError} If `chain` isn't a chain MetaMask
21
+ * scopes can be built for.
22
+ * @see getMetaMaskScopeForNetworkId
23
+ * @see getMetaMaskSupportedNetworks
24
+ * @notInstrumented
25
+ */
26
+ export declare const getMetaMaskScopes: ({ chain }: GetMetaMaskScopesOptions, client: DynamicClient) => Scope<RPCAPI>[];
27
+ export {};
28
+ //# sourceMappingURL=getMetaMaskScopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaMaskScopes.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskScopes/getMetaMaskScopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAMlE,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iBAAiB,cACjB,wBAAwB,UAC3B,aAAa,KACpB,KAAK,CAAC,MAAM,CAAC,EAuBf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getMetaMaskScopes } from './getMetaMaskScopes';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskScopes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { DynamicClient } from '@dynamic-labs-sdk/client';
2
+ type MetaMaskSupportedNetworks = Record<`eip155:${string}` | `solana:${string}`, string>;
3
+ /**
4
+ * Builds the `api.supportedNetworks` map for MetaMask's multichain client:
5
+ * EVM networks keyed by their CAIP-2 `eip155:<networkId>` scope, SOL networks
6
+ * keyed by their CAIP-2 `solana:<genesisHash>` scope (SOL's `networkId` is an
7
+ * internal routing id, not usable as a CAIP-2 reference).
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const supportedNetworks = getMetaMaskSupportedNetworks(client);
12
+ * // { 'eip155:1': 'https://...', 'solana:5eykt4...': 'https://...' }
13
+ * ```
14
+ *
15
+ * @returns The RPC URL for every configured EVM/SOL network, keyed by its
16
+ * MetaMask-recognized network identifier.
17
+ * @see getMetaMaskScopes
18
+ * @see createMetaMaskClientInstanceManager
19
+ * @notInstrumented
20
+ */
21
+ export declare const getMetaMaskSupportedNetworks: (client: DynamicClient) => MetaMaskSupportedNetworks;
22
+ export {};
23
+ //# sourceMappingURL=getMetaMaskSupportedNetworks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMetaMaskSupportedNetworks.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskSupportedNetworks/getMetaMaskSupportedNetworks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,KAAK,yBAAyB,GAAG,MAAM,CACrC,UAAU,MAAM,EAAE,GAAG,UAAU,MAAM,EAAE,EACvC,MAAM,CACP,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B,WAC/B,aAAa,KACpB,yBA6BF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getMetaMaskSupportedNetworks } from './getMetaMaskSupportedNetworks';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getMetaMaskSupportedNetworks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { Chain, DynamicClient } from '@dynamic-labs-sdk/client';
2
+ export type GetNetworkIdFromMetaMaskScopeParams = {
3
+ chain: Chain;
4
+ scope: string;
5
+ };
6
+ /**
7
+ * Reverse of `getMetaMaskScopeForNetworkId`: maps a granted CAIP-2 scope
8
+ * back to the Dynamic `networkId` it came from, for the given chain.
9
+ *
10
+ * Returns `undefined` -- not a throw -- when `scope` doesn't belong to
11
+ * `chain` (e.g. an `eip155:` scope while scanning for `SOL`). For `SOL`,
12
+ * this also covers a `solana:` scope matching no configured network. This
13
+ * is the normal, expected outcome when scanning a session's granted scopes
14
+ * for a single chain: a MetaMask multichain session is shared across every
15
+ * connected chain
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const networkId = getNetworkIdFromMetaMaskScope(
20
+ * { chain: 'EVM', scope: 'eip155:1' },
21
+ * client
22
+ * );
23
+ * // '1'
24
+ * ```
25
+ *
26
+ * @returns The matching Dynamic `networkId`, or `undefined` if `scope`
27
+ * doesn't belong to `chain` (or, for `SOL`, matches no configured network).
28
+ * @see getMetaMaskScopeForNetworkId
29
+ * @see resolveActiveMetaMaskScope
30
+ * @throws {UnsupportedMetaMaskChainError} If `chain` isn't a chain MetaMask
31
+ * scopes can be built for.
32
+ * @notInstrumented
33
+ */
34
+ export declare const getNetworkIdFromMetaMaskScope: ({ chain, scope }: GetNetworkIdFromMetaMaskScopeParams, client: DynamicClient) => string | undefined;
35
+ //# sourceMappingURL=getNetworkIdFromMetaMaskScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNetworkIdFromMetaMaskScope.d.ts","sourceRoot":"","sources":["../../src/getNetworkIdFromMetaMaskScope/getNetworkIdFromMetaMaskScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMrE,MAAM,MAAM,mCAAmC,GAAG;IAChD,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,6BAA6B,qBACtB,mCAAmC,UAC7C,aAAa,KACpB,MAAM,GAAG,SAsBX,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { getNetworkIdFromMetaMaskScope } from './getNetworkIdFromMetaMaskScope';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/getNetworkIdFromMetaMaskScope/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}