@dynamic-labs/ethereum 0.18.0-beta.28 → 0.18.0-beta.30

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,28 @@
1
1
 
2
+ ## [0.18.0-beta.30](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-beta.29...v0.18.0-beta.30) (2023-08-04)
3
+
4
+ ### Bug Fixes
5
+
6
+ * add improves to wallet events handling
7
+
8
+ ## [0.18.0-beta.29](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-beta.28...v0.18.0-beta.29) (2023-08-03)
9
+
10
+
11
+ ### ⚠ BREAKING CHANGES
12
+
13
+ * remove deprecated multiwallet prop (#2821)
14
+
15
+ ### Bug Fixes
16
+
17
+ * array of dynamicWagmiSettings not being sent, must be turned into object ([#2837](https://github.com/dynamic-labs/DynamicAuth/issues/2837)) ([fc5051d](https://github.com/dynamic-labs/DynamicAuth/commit/fc5051d3ce4c5e28d54a74cc9d74424748b52df9)), closes [#2835](https://github.com/dynamic-labs/DynamicAuth/issues/2835)
18
+ * change network modal doesn't pop on secondary wallet, when primaryWallet was disconnected ([#2831](https://github.com/dynamic-labs/DynamicAuth/issues/2831)) ([4a78cc8](https://github.com/dynamic-labs/DynamicAuth/commit/4a78cc8c9004e6716fa9e35d8572c57bfd8bdc22))
19
+ * connectSuccess callback is not being called when connecting new wallet after unlink ([#2829](https://github.com/dynamic-labs/DynamicAuth/issues/2829)) ([37795e5](https://github.com/dynamic-labs/DynamicAuth/commit/37795e5304d65766968ae6168d329b899c0afdfa))
20
+ * **wcv2:** simulate chain change event in switchNetwork ([#2827](https://github.com/dynamic-labs/DynamicAuth/issues/2827)) ([98cff76](https://github.com/dynamic-labs/DynamicAuth/commit/98cff7687112ddbf2971fa4e42cc959f5be62014)), closes [#2809](https://github.com/dynamic-labs/DynamicAuth/issues/2809)
21
+ * wrong wallet list is showing after disconnecting and network change ([#2832](https://github.com/dynamic-labs/DynamicAuth/issues/2832)) ([b7af548](https://github.com/dynamic-labs/DynamicAuth/commit/b7af5480a0f05b851cf9accb3ab0870fd2836a92))
22
+
23
+
24
+ * remove deprecated multiwallet prop ([#2821](https://github.com/dynamic-labs/DynamicAuth/issues/2821)) ([d95173d](https://github.com/dynamic-labs/DynamicAuth/commit/d95173de890104b1b94b612976682c9d86ec4b17))
25
+
2
26
  ## [0.18.0-beta.28](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.0-RC.27...v0.18.0-beta.28) (2023-08-03)
3
27
 
4
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "0.18.0-beta.28",
3
+ "version": "0.18.0-beta.30",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -32,11 +32,11 @@
32
32
  "ethers": "5.7.2",
33
33
  "eventemitter3": "5.0.1",
34
34
  "buffer": "6.0.3",
35
- "@dynamic-labs/rpc-providers": "0.18.0-beta.28",
36
- "@dynamic-labs/types": "0.18.0-beta.28",
37
- "@dynamic-labs/utils": "0.18.0-beta.28",
38
- "@dynamic-labs/wallet-book": "0.18.0-beta.28",
39
- "@dynamic-labs/wallet-connector-core": "0.18.0-beta.28",
35
+ "@dynamic-labs/rpc-providers": "0.18.0-beta.30",
36
+ "@dynamic-labs/types": "0.18.0-beta.30",
37
+ "@dynamic-labs/utils": "0.18.0-beta.30",
38
+ "@dynamic-labs/wallet-book": "0.18.0-beta.30",
39
+ "@dynamic-labs/wallet-connector-core": "0.18.0-beta.30",
40
40
  "@ethersproject/providers": "5.7.2"
41
41
  },
42
42
  "peerDependencies": {}
@@ -26,7 +26,7 @@ export declare abstract class EthWalletConnector extends WalletConnectorBase {
26
26
  supportsNetworkSwitching(): boolean;
27
27
  switchNetwork({ networkName, networkChainId, }: SwitchNetworkOps): Promise<void>;
28
28
  getConnectedAccounts(): Promise<string[]>;
29
- protected providerSwitchNetwork({ network, provider, }: {
29
+ providerSwitchNetwork({ network, provider, }: {
30
30
  network: EvmNetwork;
31
31
  provider: ethers.providers.Web3Provider;
32
32
  }): Promise<void>;
@@ -128,12 +128,11 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
128
128
  supportsNetworkSwitching() {
129
129
  return true;
130
130
  }
131
- setupEventListeners(listeners) {
131
+ setupEventListeners() {
132
132
  if (!WalletConnectV2.provider) {
133
133
  return;
134
134
  }
135
135
  WalletConnectV2.provider.client.on('session_event', ({ params }) => {
136
- var _a, _b;
137
136
  if (!params || !params.event) {
138
137
  walletConnectorCore.logger.debug('session_event was called without params or params.event');
139
138
  return;
@@ -145,7 +144,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
145
144
  walletConnectorCore.logger.debug(`received unexpected data for chainChanged: ${data} with type ${typeof data}}`);
146
145
  return;
147
146
  }
148
- (_a = listeners.onChainChange) === null || _a === void 0 ? void 0 : _a.call(listeners, String(chainId));
147
+ this.emit('chainChange', { chain: String(chainId) });
149
148
  // When a user switches network from their wallet, we need the provider to change network
150
149
  // such that any future calls to `getNetwork` will return the correct network
151
150
  this.switchNetwork({ networkChainId: chainId });
@@ -158,13 +157,12 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
158
157
  // eslint-disable-next-line prefer-destructuring
159
158
  const account = data[0].split(':')[2];
160
159
  this.setActiveAccount(account);
161
- (_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, [account]);
160
+ this.emit('accountChange', { accounts: [account] });
162
161
  }
163
162
  });
164
163
  WalletConnectV2.provider.client.on('session_delete', () => _tslib.__awaiter(this, void 0, void 0, function* () {
165
- var _a;
166
164
  this.endSession();
167
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
165
+ this.emit('disconnect');
168
166
  }));
169
167
  }
170
168
  teardownEventListeners() {
@@ -245,11 +243,7 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
245
243
  return _tslib.__awaiter(this, void 0, void 0, function* () {
246
244
  const raceConditionPromise = new Promise((resolve) => {
247
245
  // Create listener for chain change event
248
- this.setupEventListeners({
249
- onChainChange: () => _tslib.__awaiter(this, void 0, void 0, function* () {
250
- resolve({ success: false });
251
- }),
252
- });
246
+ this.on('chainChange', () => resolve({ success: false }));
253
247
  signMessageFn(messageToSign).then((result) => resolve({ signedMessage: result, success: true }));
254
248
  });
255
249
  const signedMessageResult = yield raceConditionPromise;
@@ -362,7 +356,8 @@ class WalletConnectV2 extends EthWalletConnector.EthWalletConnector {
362
356
  if (!provider) {
363
357
  throw new utils.DynamicError('Provider not found');
364
358
  }
365
- return _super.providerSwitchNetwork.call(this, { network, provider });
359
+ yield _super.providerSwitchNetwork.call(this, { network, provider });
360
+ this.emit('chainChange', { chain: String(network.chainId) });
366
361
  });
367
362
  }
368
363
  getConnectedAccounts() {
@@ -1,6 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import type { SessionTypes } from '@walletconnect/types';
3
- import { Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
+ import { Chain, FetchPublicAddressOpts } from '@dynamic-labs/wallet-connector-core';
4
4
  import { EvmNetwork } from '@dynamic-labs/types';
5
5
  import { EthWalletConnector, EthWalletConnectorOpts } from '../EthWalletConnector';
6
6
  export type WalletConnectorV2Opts = EthWalletConnectorOpts & {
@@ -28,7 +28,7 @@ export declare class WalletConnectV2 extends EthWalletConnector {
28
28
  get sessionTopicKey(): string;
29
29
  get activeAccountKey(): string;
30
30
  supportsNetworkSwitching(): boolean;
31
- setupEventListeners(listeners: WalletEventListeners): void;
31
+ setupEventListeners(): void;
32
32
  teardownEventListeners(): void;
33
33
  getWeb3Provider(): ethers.providers.Web3Provider | undefined;
34
34
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -119,12 +119,11 @@ class WalletConnectV2 extends EthWalletConnector {
119
119
  supportsNetworkSwitching() {
120
120
  return true;
121
121
  }
122
- setupEventListeners(listeners) {
122
+ setupEventListeners() {
123
123
  if (!WalletConnectV2.provider) {
124
124
  return;
125
125
  }
126
126
  WalletConnectV2.provider.client.on('session_event', ({ params }) => {
127
- var _a, _b;
128
127
  if (!params || !params.event) {
129
128
  logger.debug('session_event was called without params or params.event');
130
129
  return;
@@ -136,7 +135,7 @@ class WalletConnectV2 extends EthWalletConnector {
136
135
  logger.debug(`received unexpected data for chainChanged: ${data} with type ${typeof data}}`);
137
136
  return;
138
137
  }
139
- (_a = listeners.onChainChange) === null || _a === void 0 ? void 0 : _a.call(listeners, String(chainId));
138
+ this.emit('chainChange', { chain: String(chainId) });
140
139
  // When a user switches network from their wallet, we need the provider to change network
141
140
  // such that any future calls to `getNetwork` will return the correct network
142
141
  this.switchNetwork({ networkChainId: chainId });
@@ -149,13 +148,12 @@ class WalletConnectV2 extends EthWalletConnector {
149
148
  // eslint-disable-next-line prefer-destructuring
150
149
  const account = data[0].split(':')[2];
151
150
  this.setActiveAccount(account);
152
- (_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, [account]);
151
+ this.emit('accountChange', { accounts: [account] });
153
152
  }
154
153
  });
155
154
  WalletConnectV2.provider.client.on('session_delete', () => __awaiter(this, void 0, void 0, function* () {
156
- var _a;
157
155
  this.endSession();
158
- yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
156
+ this.emit('disconnect');
159
157
  }));
160
158
  }
161
159
  teardownEventListeners() {
@@ -236,11 +234,7 @@ class WalletConnectV2 extends EthWalletConnector {
236
234
  return __awaiter(this, void 0, void 0, function* () {
237
235
  const raceConditionPromise = new Promise((resolve) => {
238
236
  // Create listener for chain change event
239
- this.setupEventListeners({
240
- onChainChange: () => __awaiter(this, void 0, void 0, function* () {
241
- resolve({ success: false });
242
- }),
243
- });
237
+ this.on('chainChange', () => resolve({ success: false }));
244
238
  signMessageFn(messageToSign).then((result) => resolve({ signedMessage: result, success: true }));
245
239
  });
246
240
  const signedMessageResult = yield raceConditionPromise;
@@ -353,7 +347,8 @@ class WalletConnectV2 extends EthWalletConnector {
353
347
  if (!provider) {
354
348
  throw new DynamicError('Provider not found');
355
349
  }
356
- return _super.providerSwitchNetwork.call(this, { network, provider });
350
+ yield _super.providerSwitchNetwork.call(this, { network, provider });
351
+ this.emit('chainChange', { chain: String(network.chainId) });
357
352
  });
358
353
  }
359
354
  getConnectedAccounts() {