@dynamic-labs/solana 4.88.4 → 4.88.5

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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,13 @@
1
1
 
2
+ ### [4.88.5](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.4...v4.88.5) (2026-06-11)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **fix(webview):** fix issue where stepupauth is enabled and after it's completed the export private key window doesn't show up automatically
8
+ * **fix(global-wallet):** correctly sign ethereum messages ([#11548](https://github.com/dynamic-labs/dynamic-auth/issues/11548))
9
+
10
+
2
11
  ### [4.88.4](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.3...v4.88.4) (2026-06-10)
3
12
 
4
13
 
package/package.cjs CHANGED
@@ -3,6 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.88.4";
6
+ var version = "4.88.5";
7
7
 
8
8
  exports.version = version;
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.88.4";
2
+ var version = "4.88.5";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/solana",
3
- "version": "4.88.4",
3
+ "version": "4.88.5",
4
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
5
5
  "author": "Dynamic Labs, Inc.",
6
6
  "license": "MIT",
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "homepage": "https://www.dynamic.xyz/",
20
20
  "dependencies": {
21
- "@dynamic-labs/wallet-connect": "4.88.4",
22
- "@dynamic-labs-connectors/metamask-solana": "4.6.7",
21
+ "@dynamic-labs/wallet-connect": "4.88.5",
22
+ "@dynamic-labs-connectors/metamask-solana": "4.6.8",
23
23
  "@solana/web3.js": "1.98.1",
24
24
  "@wallet-standard/app": "1.0.1",
25
25
  "@wallet-standard/base": "1.0.1",
@@ -30,17 +30,17 @@
30
30
  "@walletconnect/sign-client": "2.21.5",
31
31
  "@walletconnect/utils": "2.21.5",
32
32
  "@walletconnect/types": "2.21.5",
33
- "@dynamic-labs/assert-package-version": "4.88.4",
34
- "@dynamic-labs/embedded-wallet-solana": "4.88.4",
35
- "@dynamic-labs/logger": "4.88.4",
36
- "@dynamic-labs/rpc-providers": "4.88.4",
33
+ "@dynamic-labs/assert-package-version": "4.88.5",
34
+ "@dynamic-labs/embedded-wallet-solana": "4.88.5",
35
+ "@dynamic-labs/logger": "4.88.5",
36
+ "@dynamic-labs/rpc-providers": "4.88.5",
37
37
  "@dynamic-labs/sdk-api-core": "0.0.1015",
38
- "@dynamic-labs/solana-core": "4.88.4",
39
- "@dynamic-labs/types": "4.88.4",
40
- "@dynamic-labs/utils": "4.88.4",
41
- "@dynamic-labs/waas-svm": "4.88.4",
42
- "@dynamic-labs/wallet-book": "4.88.4",
43
- "@dynamic-labs/wallet-connector-core": "4.88.4",
38
+ "@dynamic-labs/solana-core": "4.88.5",
39
+ "@dynamic-labs/types": "4.88.5",
40
+ "@dynamic-labs/utils": "4.88.5",
41
+ "@dynamic-labs/waas-svm": "4.88.5",
42
+ "@dynamic-labs/wallet-book": "4.88.5",
43
+ "@dynamic-labs/wallet-connector-core": "4.88.5",
44
44
  "eventemitter3": "5.0.1"
45
45
  },
46
46
  "peerDependencies": {}
package/src/index.cjs CHANGED
@@ -17,6 +17,7 @@ require('@dynamic-labs/wallet-book');
17
17
  require('@dynamic-labs/wallet-connector-core');
18
18
  require('@dynamic-labs/utils');
19
19
  require('./CoinbaseSolana/CoinbaseSolana.cjs');
20
+ require('./Phantom/Phantom.cjs');
20
21
  require('./Solflare/Solflare.cjs');
21
22
  require('./utils/logger.cjs');
22
23
  var createSolanaSignerFromWalletStandard = require('./injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.cjs');
package/src/index.js CHANGED
@@ -13,6 +13,7 @@ import '@dynamic-labs/wallet-book';
13
13
  import '@dynamic-labs/wallet-connector-core';
14
14
  import '@dynamic-labs/utils';
15
15
  import './CoinbaseSolana/CoinbaseSolana.js';
16
+ import './Phantom/Phantom.js';
16
17
  import './Solflare/Solflare.js';
17
18
  import './utils/logger.js';
18
19
  export { createSolanaSignerFromWalletStandard } from './injected/walletStandard/createSolanaSignerFromWalletStandard/createSolanaSignerFromWalletStandard.js';
@@ -7,6 +7,7 @@ var walletBook = require('@dynamic-labs/wallet-book');
7
7
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
8
  var utils = require('@dynamic-labs/utils');
9
9
  var CoinbaseSolana = require('../CoinbaseSolana/CoinbaseSolana.cjs');
10
+ var Phantom = require('../Phantom/Phantom.cjs');
10
11
  var Solflare = require('../Solflare/Solflare.cjs');
11
12
  var logger = require('../utils/logger.cjs');
12
13
  var getConnectorConstructorInjectedWallet = require('../utils/getConnectorConstructorInjectedWallet/getConnectorConstructorInjectedWallet.cjs');
@@ -39,6 +40,18 @@ const walletsWithCustomConnectors = [
39
40
  'solflare',
40
41
  'metamasksol',
41
42
  ];
43
+ // Maps the wallet-standard name each override wallet registers with to its
44
+ // custom connector. Wallets in this map are rejected by
45
+ // shouldAddWalletStandardConnector, so when one registers late (e.g. on
46
+ // prerendered pages where extensions inject after the SDK snapshot) its
47
+ // connector entry would otherwise keep a stale isInstalledOnBrowser=false
48
+ // forever; re-emitting the override constructor refreshes it.
49
+ const injectedWalletOverridesByWalletStandardName = {
50
+ Backpack: BackpackSol.BackpackSol,
51
+ 'Coinbase Wallet': CoinbaseSolana.CoinbaseSolana,
52
+ Phantom: Phantom.Phantom,
53
+ Solflare: Solflare.Solflare,
54
+ };
42
55
  const shouldAddWalletStandardConnector = (wallet, walletBook, authMode) => {
43
56
  var _a;
44
57
  const { name } = wallet;
@@ -96,6 +109,15 @@ const setupSolanaWalletStandardDiscovery = (walletBook, authMode) => {
96
109
  if (discoveredWallets.has(wallet.name)) {
97
110
  return;
98
111
  }
112
+ const overrideConstructor = injectedWalletOverridesByWalletStandardName[wallet.name];
113
+ if (overrideConstructor) {
114
+ discoveredWallets.add(wallet.name);
115
+ logger.logger.logVerboseTroubleshootingMessage('[SOL fetchInjectedWalletConnectors] Emitting providerInjected for late-registered custom connector wallet', wallet.name);
116
+ walletConnectorCore.walletConnectorEvents.emit('providerInjected', {
117
+ injectedConnectorConstructor: overrideConstructor,
118
+ });
119
+ return;
120
+ }
99
121
  if (!shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
100
122
  return;
101
123
  }
@@ -107,7 +129,8 @@ const setupSolanaWalletStandardDiscovery = (walletBook, authMode) => {
107
129
  // fetchInjectedWalletConnectors, so seed them as discovered (no emit needed);
108
130
  // the listener and poll then only fire for wallets that appear afterwards.
109
131
  initialWallets.forEach((wallet) => {
110
- if (shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
132
+ if (injectedWalletOverridesByWalletStandardName[wallet.name] ||
133
+ shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
111
134
  discoveredWallets.add(wallet.name);
112
135
  }
113
136
  });
@@ -3,6 +3,7 @@ import { findWalletBookWalletByNameAndChain } from '@dynamic-labs/wallet-book';
3
3
  import { getWalletMetadataFromWalletBook, walletConnectorEvents } from '@dynamic-labs/wallet-connector-core';
4
4
  import { sanitizeName } from '@dynamic-labs/utils';
5
5
  import { CoinbaseSolana } from '../CoinbaseSolana/CoinbaseSolana.js';
6
+ import { Phantom } from '../Phantom/Phantom.js';
6
7
  import { Solflare } from '../Solflare/Solflare.js';
7
8
  import { logger } from '../utils/logger.js';
8
9
  import { getConnectorConstructorInjectedWallet } from '../utils/getConnectorConstructorInjectedWallet/getConnectorConstructorInjectedWallet.js';
@@ -35,6 +36,18 @@ const walletsWithCustomConnectors = [
35
36
  'solflare',
36
37
  'metamasksol',
37
38
  ];
39
+ // Maps the wallet-standard name each override wallet registers with to its
40
+ // custom connector. Wallets in this map are rejected by
41
+ // shouldAddWalletStandardConnector, so when one registers late (e.g. on
42
+ // prerendered pages where extensions inject after the SDK snapshot) its
43
+ // connector entry would otherwise keep a stale isInstalledOnBrowser=false
44
+ // forever; re-emitting the override constructor refreshes it.
45
+ const injectedWalletOverridesByWalletStandardName = {
46
+ Backpack: BackpackSol,
47
+ 'Coinbase Wallet': CoinbaseSolana,
48
+ Phantom: Phantom,
49
+ Solflare: Solflare,
50
+ };
38
51
  const shouldAddWalletStandardConnector = (wallet, walletBook, authMode) => {
39
52
  var _a;
40
53
  const { name } = wallet;
@@ -92,6 +105,15 @@ const setupSolanaWalletStandardDiscovery = (walletBook, authMode) => {
92
105
  if (discoveredWallets.has(wallet.name)) {
93
106
  return;
94
107
  }
108
+ const overrideConstructor = injectedWalletOverridesByWalletStandardName[wallet.name];
109
+ if (overrideConstructor) {
110
+ discoveredWallets.add(wallet.name);
111
+ logger.logVerboseTroubleshootingMessage('[SOL fetchInjectedWalletConnectors] Emitting providerInjected for late-registered custom connector wallet', wallet.name);
112
+ walletConnectorEvents.emit('providerInjected', {
113
+ injectedConnectorConstructor: overrideConstructor,
114
+ });
115
+ return;
116
+ }
95
117
  if (!shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
96
118
  return;
97
119
  }
@@ -103,7 +125,8 @@ const setupSolanaWalletStandardDiscovery = (walletBook, authMode) => {
103
125
  // fetchInjectedWalletConnectors, so seed them as discovered (no emit needed);
104
126
  // the listener and poll then only fire for wallets that appear afterwards.
105
127
  initialWallets.forEach((wallet) => {
106
- if (shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
128
+ if (injectedWalletOverridesByWalletStandardName[wallet.name] ||
129
+ shouldAddWalletStandardConnector(wallet, walletBook, authMode)) {
107
130
  discoveredWallets.add(wallet.name);
108
131
  }
109
132
  });