@dynamic-labs/wagmi-connector 4.88.6 → 4.89.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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,19 @@
1
1
 
2
+ ## [4.89.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.6...v4.89.0) (2026-06-16)
3
+
4
+
5
+ ### Features
6
+
7
+ * **moonpay:** add useMoonPayOnramp hook ([#11405](https://github.com/dynamic-labs/dynamic-auth/issues/11405)) ([48cb62f](https://github.com/dynamic-labs/dynamic-auth/commit/48cb62fefecb511fcba9359ee6f6096dfef0b125))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * get wallet metadata from wallet-book when its present ([#11566](https://github.com/dynamic-labs/dynamic-auth/issues/11566)) ([a1a8ad5](https://github.com/dynamic-labs/dynamic-auth/commit/a1a8ad53c063157b189aea138fa338fcc67dc4dd))
13
+ * **waas:** instant logout — clear key share host-side, background iframe cleanup ([#11583](https://github.com/dynamic-labs/dynamic-auth/issues/11583)) ([0ab3378](https://github.com/dynamic-labs/dynamic-auth/commit/0ab3378efdbbe233069b17fad62b0c126397bc3a))
14
+ * **wagmi-connector:** await disconnect before connect to defuse SyncDynamicWagmi race DYNT-549 ([#11579](https://github.com/dynamic-labs/dynamic-auth/issues/11579)) ([6ac7c0e](https://github.com/dynamic-labs/dynamic-auth/commit/6ac7c0e02ed863342047bc5a1e60be3a66b8a425)), closes [#11131](https://github.com/dynamic-labs/dynamic-auth/issues/11131) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513) [#11516](https://github.com/dynamic-labs/dynamic-auth/issues/11516) [#11496](https://github.com/dynamic-labs/dynamic-auth/issues/11496) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513) [/github.com/dynamic-labs/dynamic-auth/blob/main/packages/wagmi-connector/src/lib/hooks/useConnectorId/useConnectorId.ts#L19-L26](https://github.com/dynamic-labs//github.com/dynamic-labs/dynamic-auth/blob/main/packages/wagmi-connector/src/lib/hooks/useConnectorId/useConnectorId.ts/issues/L19-L26) [#11131](https://github.com/dynamic-labs/dynamic-auth/issues/11131) [#11516](https://github.com/dynamic-labs/dynamic-auth/issues/11516) [#11513](https://github.com/dynamic-labs/dynamic-auth/issues/11513)
15
+ * **react-native:** resolve intermittent "Wallet with id <uuid> not found" after login ([#11575](https://github.com/dynamic-labs/dynamic-auth/issues/11575)) ([9d7a246](https://github.com/dynamic-labs/dynamic-auth/commit/9d7a246167927b9339dc33c10977c6d12783ab88))
16
+
2
17
  ### [4.88.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.88.5...v4.88.6) (2026-06-13)
3
18
 
4
19
 
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client'
2
- var version = "4.88.6";
2
+ var version = "4.89.0";
3
3
 
4
4
  export { version };
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wagmi-connector",
3
- "version": "4.88.6",
3
+ "version": "4.89.0",
4
4
  "peerDependencies": {
5
5
  "@wagmi/core": "^2.6.4",
6
6
  "react": ">=18.0.0 <20.0.0",
7
7
  "viem": "^2.45.3",
8
8
  "wagmi": "^2.14.11",
9
- "@dynamic-labs/assert-package-version": "4.88.6",
10
- "@dynamic-labs/ethereum-core": "4.88.6",
11
- "@dynamic-labs/logger": "4.88.6",
12
- "@dynamic-labs/rpc-providers": "4.88.6",
13
- "@dynamic-labs/sdk-react-core": "4.88.6",
14
- "@dynamic-labs/types": "4.88.6",
15
- "@dynamic-labs/wallet-connector-core": "4.88.6",
9
+ "@dynamic-labs/assert-package-version": "4.89.0",
10
+ "@dynamic-labs/ethereum-core": "4.89.0",
11
+ "@dynamic-labs/logger": "4.89.0",
12
+ "@dynamic-labs/rpc-providers": "4.89.0",
13
+ "@dynamic-labs/sdk-react-core": "4.89.0",
14
+ "@dynamic-labs/types": "4.89.0",
15
+ "@dynamic-labs/wallet-connector-core": "4.89.0",
16
16
  "eventemitter3": "5.0.1"
17
17
  },
18
18
  "license": "MIT",
@@ -32,8 +32,8 @@ const SyncDynamicWagmi = ({ children, connector, wallet, }) => {
32
32
  },
33
33
  },
34
34
  });
35
- const { disconnect } = useDisconnect();
36
- const disconnectWagmi = useCallback(() => {
35
+ const { disconnectAsync } = useDisconnect();
36
+ const disconnectWagmi = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
37
37
  logger.logVerboseTroubleshootingMessage('[SyncDynamicWagmi] disconnecting wagmi - previous status: ', {
38
38
  clientStatus,
39
39
  lastConnectedWalletId: lastConnectedWalletId.current,
@@ -41,9 +41,17 @@ const SyncDynamicWagmi = ({ children, connector, wallet, }) => {
41
41
  if (clientStatus === 'disconnected') {
42
42
  return;
43
43
  }
44
- disconnect();
44
+ // Await disconnect so wagmi clears `state.current` before any
45
+ // subsequent connect runs. Fire-and-forget `disconnect()` interleaves
46
+ // with `connect()` on the next line: wagmi's disconnect awaits
47
+ // `connector.disconnect()` before deleting from connections, while
48
+ // connect synchronously throws `ConnectorAlreadyConnectedError` if
49
+ // `connector.uid === state.current` — leaving wagmi disconnected with
50
+ // no auto-recovery. Observed in prod via the
51
+ // `wagmi-connector.connect_already_connected_race` counter (DYNT-549).
52
+ yield disconnectAsync();
45
53
  lastConnectedWalletId.current = undefined;
46
- }, [disconnect, clientStatus]);
54
+ }), [disconnectAsync, clientStatus]);
47
55
  const connectWagmi = useCallback((connector, newId, forceConnect) => {
48
56
  logger.logVerboseTroubleshootingMessage('[SyncDynamicWagmi] connecting wagmi - previous status: ', {
49
57
  clientStatus,
@@ -73,7 +81,7 @@ const SyncDynamicWagmi = ({ children, connector, wallet, }) => {
73
81
  });
74
82
  // if there's no connector, disconnect wagmi
75
83
  if (!connector || !address) {
76
- disconnectWagmi();
84
+ yield disconnectWagmi();
77
85
  return;
78
86
  }
79
87
  const newId = `${connector.id}-${address}`;
@@ -83,7 +91,7 @@ const SyncDynamicWagmi = ({ children, connector, wallet, }) => {
83
91
  }
84
92
  // if has a previous connection, disconnect wagmi
85
93
  if (prevConnection) {
86
- disconnectWagmi();
94
+ yield disconnectWagmi();
87
95
  }
88
96
  // and then (re)connect wagmi
89
97
  // force reconnect if has disconnected in the preivous step