@dynamic-labs/ethereum 0.19.0-alpha.12 → 0.19.0-alpha.14

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,46 @@
1
1
 
2
+ ## [0.19.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.13...v0.19.0-alpha.14) (2023-10-10)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * remove numberOfWallets (#3521)
8
+
9
+ ### Features
10
+
11
+ * add embedded widget components ([#3533](https://github.com/dynamic-labs/DynamicAuth/issues/3533)) ([513cba8](https://github.com/dynamic-labs/DynamicAuth/commit/513cba8e7694544122ff9cce3aa1aea0a0c23986))
12
+ * add ethers extension support to wallet-connectors ([#3544](https://github.com/dynamic-labs/DynamicAuth/issues/3544)) ([3c09ba5](https://github.com/dynamic-labs/DynamicAuth/commit/3c09ba58b0f2c745df60a87b1820abbbfc1b95b7))
13
+ * add switch network for turnkey wallets ([#3539](https://github.com/dynamic-labs/DynamicAuth/issues/3539)) ([1bcbbb2](https://github.com/dynamic-labs/DynamicAuth/commit/1bcbbb2bd4e333d47ce4c93d4bd4b1f29a80c1f4))
14
+ * editable copy for switch network view ([#3561](https://github.com/dynamic-labs/DynamicAuth/issues/3561)) ([4dea2f1](https://github.com/dynamic-labs/DynamicAuth/commit/4dea2f159ee0675d5b9ba1cb412d75e5e211b3d1))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * always call connectSucess callback after successfully connecting wallet ([#3562](https://github.com/dynamic-labs/DynamicAuth/issues/3562)) ([2587ff8](https://github.com/dynamic-labs/DynamicAuth/commit/2587ff8a915f61793b15bfa1289689514344fc75))
20
+ * don't let user update email if they have an embedded wallet ([#3552](https://github.com/dynamic-labs/DynamicAuth/issues/3552)) ([c710cce](https://github.com/dynamic-labs/DynamicAuth/commit/c710cce22c7a54004f56c8fc68f8c4075f5f9e51))
21
+ * embedded widget rerender bug ([#3545](https://github.com/dynamic-labs/DynamicAuth/issues/3545)) ([27ed979](https://github.com/dynamic-labs/DynamicAuth/commit/27ed979618ac7d9e912381faebbf61ec9e9e839c))
22
+ * sync passkey should not throw error ([#3535](https://github.com/dynamic-labs/DynamicAuth/issues/3535)) ([0336ba6](https://github.com/dynamic-labs/DynamicAuth/commit/0336ba65bf1cc4394e4f005f273baea26326784a))
23
+ * wrap eth wallet connector rpc calls in retry function ([#3497](https://github.com/dynamic-labs/DynamicAuth/issues/3497)) ([7800b45](https://github.com/dynamic-labs/DynamicAuth/commit/7800b45dc93f20731ee643e89e84d57765387778))
24
+
25
+
26
+ * remove numberOfWallets ([#3521](https://github.com/dynamic-labs/DynamicAuth/issues/3521)) ([0174297](https://github.com/dynamic-labs/DynamicAuth/commit/017429745d08b7b1edc23bc4da43bc01b4ef1cd4))
27
+
28
+ ## [0.19.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.12...v0.19.0-alpha.13) (2023-10-04)
29
+
30
+
31
+ ### Features
32
+
33
+ * add ethers 5/6 util methods for converting connectors to ethers classes ([#3435](https://github.com/dynamic-labs/DynamicAuth/issues/3435)) ([5f4da48](https://github.com/dynamic-labs/DynamicAuth/commit/5f4da48526dbce4be2d437fc93f4cc8ddded73c5))
34
+ * show goerli icon on network button and a warning message ([#3494](https://github.com/dynamic-labs/DynamicAuth/issues/3494)) ([64851a3](https://github.com/dynamic-labs/DynamicAuth/commit/64851a3d60ba19dd164690dcb26056cad2d22e61))
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * fix broken test ([#3520](https://github.com/dynamic-labs/DynamicAuth/issues/3520)) ([d7a3bd4](https://github.com/dynamic-labs/DynamicAuth/commit/d7a3bd4c71309a2df8106cae3f8f03f4aaedaa56))
40
+ * **handleWalletsToConnect:** require wallet connector in the props ([#3512](https://github.com/dynamic-labs/DynamicAuth/issues/3512)) ([ddc0d19](https://github.com/dynamic-labs/DynamicAuth/commit/ddc0d19c9996f4fd52d19aad837fdf1e632d1b3d))
41
+ * use providers redirect url in getOauthLoginUrl function ([#3519](https://github.com/dynamic-labs/DynamicAuth/issues/3519)) ([3f8601d](https://github.com/dynamic-labs/DynamicAuth/commit/3f8601d47d2fc6aa65f3a6890b1b9a4b93c9e9f6))
42
+ * **wagmi-connector:** set websocket rpc to wagmi client ([#3474](https://github.com/dynamic-labs/DynamicAuth/issues/3474)) ([c94a43e](https://github.com/dynamic-labs/DynamicAuth/commit/c94a43ea9be11352313eafb2cd42c5f4941562a3))
43
+
2
44
  ## [0.19.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v0.19.0-alpha.11...v0.19.0-alpha.12) (2023-10-03)
3
45
 
4
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "0.19.0-alpha.12",
3
+ "version": "0.19.0-alpha.14",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -28,14 +28,14 @@
28
28
  "dependencies": {
29
29
  "@walletconnect/client": "1.8.0",
30
30
  "@walletconnect/ethereum-provider": "1.8.0",
31
- "@walletconnect/universal-provider": "2.8.3",
31
+ "@walletconnect/universal-provider": "2.10.1",
32
32
  "eventemitter3": "5.0.1",
33
33
  "buffer": "6.0.3",
34
- "@dynamic-labs/rpc-providers": "0.19.0-alpha.12",
35
- "@dynamic-labs/types": "0.19.0-alpha.12",
36
- "@dynamic-labs/utils": "0.19.0-alpha.12",
37
- "@dynamic-labs/wallet-book": "0.19.0-alpha.12",
38
- "@dynamic-labs/wallet-connector-core": "0.19.0-alpha.12",
34
+ "@dynamic-labs/rpc-providers": "0.19.0-alpha.14",
35
+ "@dynamic-labs/types": "0.19.0-alpha.14",
36
+ "@dynamic-labs/utils": "0.19.0-alpha.14",
37
+ "@dynamic-labs/wallet-book": "0.19.0-alpha.14",
38
+ "@dynamic-labs/wallet-connector-core": "0.19.0-alpha.14",
39
39
  "stream": "0.0.2"
40
40
  },
41
41
  "peerDependencies": {
@@ -64,7 +64,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
64
64
  if (!this.supportsNetworkSwitching || !provider) {
65
65
  return Promise.resolve(undefined);
66
66
  }
67
- return yield provider.getChainId();
67
+ return utils.retryableFn(provider.getChainId, {
68
+ fallbackValue: utils.FALLBACK_UNDEFINED,
69
+ });
68
70
  });
69
71
  }
70
72
  getNameService() {
@@ -140,7 +142,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
140
142
  const provider = this.getWeb3Provider();
141
143
  if (!provider)
142
144
  return [];
143
- return provider.getAddresses();
145
+ return utils.retryableFn(provider.getAddresses, {
146
+ fallbackValue: [],
147
+ });
144
148
  });
145
149
  }
146
150
  providerSwitchNetwork({ network, provider, }) {
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { createPublicClient, http, formatEther } from 'viem';
3
3
  import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
- import { parseEvmNetworks, getOrMapViemChain, DynamicError } from '@dynamic-labs/utils';
4
+ import { parseEvmNetworks, getOrMapViemChain, retryableFn, FALLBACK_UNDEFINED, DynamicError } from '@dynamic-labs/utils';
5
5
  import { ProviderChain } from '@dynamic-labs/rpc-providers';
6
6
  import { findEvmNetwork } from './utils/findEvmNetwork.js';
7
7
 
@@ -60,7 +60,9 @@ class EthWalletConnector extends WalletConnectorBase {
60
60
  if (!this.supportsNetworkSwitching || !provider) {
61
61
  return Promise.resolve(undefined);
62
62
  }
63
- return yield provider.getChainId();
63
+ return retryableFn(provider.getChainId, {
64
+ fallbackValue: FALLBACK_UNDEFINED,
65
+ });
64
66
  });
65
67
  }
66
68
  getNameService() {
@@ -136,7 +138,9 @@ class EthWalletConnector extends WalletConnectorBase {
136
138
  const provider = this.getWeb3Provider();
137
139
  if (!provider)
138
140
  return [];
139
- return provider.getAddresses();
141
+ return retryableFn(provider.getAddresses, {
142
+ fallbackValue: [],
143
+ });
140
144
  });
141
145
  }
142
146
  providerSwitchNetwork({ network, provider, }) {
@@ -33,7 +33,7 @@ class EthProviderHelper {
33
33
  const providers = [];
34
34
  if (config.windowLocations) {
35
35
  for (const windowLocation of config.windowLocations) {
36
- const foundProviders = utils.getPathFromObject(window, windowLocation);
36
+ const foundProviders = utils.getProvidersFromWindow(windowLocation);
37
37
  if (foundProviders && foundProviders.length)
38
38
  providers.push(...foundProviders);
39
39
  }
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from '../_virtual/_tslib.js';
2
2
  import { createWalletClient, custom, getAddress } from 'viem';
3
3
  import { ProviderLookup, logger } from '@dynamic-labs/wallet-connector-core';
4
- import { getPathFromObject } from '@dynamic-labs/utils';
4
+ import { getProvidersFromWindow } from '@dynamic-labs/utils';
5
5
  import { eventListenerHandlers } from './utils/eventListenerHandlers.js';
6
6
 
7
7
  class EthProviderHelper {
@@ -29,7 +29,7 @@ class EthProviderHelper {
29
29
  const providers = [];
30
30
  if (config.windowLocations) {
31
31
  for (const windowLocation of config.windowLocations) {
32
- const foundProviders = getPathFromObject(window, windowLocation);
32
+ const foundProviders = getProvidersFromWindow(windowLocation);
33
33
  if (foundProviders && foundProviders.length)
34
34
  providers.push(...foundProviders);
35
35
  }
package/src/index.cjs CHANGED
@@ -9,7 +9,6 @@ var Dawn = require('./injected/Dawn.cjs');
9
9
  var ExodusEvm = require('./injected/ExodusEvm.cjs');
10
10
  var Frame = require('./injected/Frame.cjs');
11
11
  var GameStop = require('./injected/GameStop.cjs');
12
- var MetaMask = require('./injected/MetaMask.cjs');
13
12
  var Opera = require('./injected/Opera.cjs');
14
13
  var PhantomEvm = require('./injected/PhantomEvm.cjs');
15
14
  var Trust = require('./injected/Trust.cjs');
@@ -43,7 +42,6 @@ exports.Dawn = Dawn.Dawn;
43
42
  exports.ExodusEvm = ExodusEvm.ExodusEvm;
44
43
  exports.Frame = Frame.Frame;
45
44
  exports.GameStop = GameStop.GameStop;
46
- exports.MetaMask = MetaMask.MetaMask;
47
45
  exports.Opera = Opera.Opera;
48
46
  exports.PhantomEvm = PhantomEvm.PhantomEvm;
49
47
  exports.Trust = Trust.Trust;
package/src/index.js CHANGED
@@ -5,7 +5,6 @@ export { Dawn } from './injected/Dawn.js';
5
5
  export { ExodusEvm } from './injected/ExodusEvm.js';
6
6
  export { Frame } from './injected/Frame.js';
7
7
  export { GameStop } from './injected/GameStop.js';
8
- export { MetaMask } from './injected/MetaMask.js';
9
8
  export { Opera } from './injected/Opera.js';
10
9
  export { PhantomEvm } from './injected/PhantomEvm.js';
11
10
  export { Trust } from './injected/Trust.js';
@@ -4,7 +4,6 @@ export * from './Dawn';
4
4
  export * from './ExodusEvm';
5
5
  export * from './Frame';
6
6
  export * from './GameStop';
7
- export * from './MetaMask';
8
7
  export * from './Opera';
9
8
  export * from './PhantomEvm';
10
9
  export * from './Trust';
@@ -8,7 +8,6 @@ var Dawn = require('./Dawn.cjs');
8
8
  var ExodusEvm = require('./ExodusEvm.cjs');
9
9
  var Frame = require('./Frame.cjs');
10
10
  var GameStop = require('./GameStop.cjs');
11
- var MetaMask = require('./MetaMask.cjs');
12
11
  var Opera = require('./Opera.cjs');
13
12
  var PhantomEvm = require('./PhantomEvm.cjs');
14
13
  var Trust = require('./Trust.cjs');
@@ -24,7 +23,6 @@ const legacyInjectedWallets = [
24
23
  ExodusEvm.ExodusEvm,
25
24
  Frame.Frame,
26
25
  GameStop.GameStop,
27
- MetaMask.MetaMask,
28
26
  Opera.Opera,
29
27
  Trust.Trust,
30
28
  Zerion.Zerion,
@@ -39,7 +37,6 @@ const filteredLegacyInjectedWalletKeys = [
39
37
  'exodusevm',
40
38
  'frame',
41
39
  'gamestop',
42
- 'metamask',
43
40
  'opera',
44
41
  'trust',
45
42
  'zerion',
@@ -4,7 +4,6 @@ import { Dawn } from './Dawn.js';
4
4
  import { ExodusEvm } from './ExodusEvm.js';
5
5
  import { Frame } from './Frame.js';
6
6
  import { GameStop } from './GameStop.js';
7
- import { MetaMask } from './MetaMask.js';
8
7
  import { Opera } from './Opera.js';
9
8
  import { PhantomEvm } from './PhantomEvm.js';
10
9
  import { Trust } from './Trust.js';
@@ -20,7 +19,6 @@ const legacyInjectedWallets = [
20
19
  ExodusEvm,
21
20
  Frame,
22
21
  GameStop,
23
- MetaMask,
24
22
  Opera,
25
23
  Trust,
26
24
  Zerion,
@@ -35,7 +33,6 @@ const filteredLegacyInjectedWalletKeys = [
35
33
  'exodusevm',
36
34
  'frame',
37
35
  'gamestop',
38
- 'metamask',
39
36
  'opera',
40
37
  'trust',
41
38
  'zerion',
@@ -138,19 +138,6 @@ class LegacyEthProviderHelper {
138
138
  }
139
139
  }
140
140
  _a = LegacyEthProviderHelper;
141
- LegacyEthProviderHelper.MetamaskProvider = () =>
142
- // Stop these wallets from showing up as MetaMask
143
- _a.installedProviderLookup([
144
- { flag: 'isDawn', value: false },
145
- { flag: 'isBraveWallet', value: false },
146
- { flag: 'isTrustWallet', value: false },
147
- { flag: 'isExodus', value: false },
148
- { flag: 'isPhantom', value: false },
149
- { flag: 'isZerion', value: false },
150
- { flag: 'isMetaMask', value: true },
151
- { flag: 'isSuperb', value: false },
152
- { flag: 'isRabby', value: false },
153
- ]);
154
141
  LegacyEthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
155
142
  LegacyEthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
156
143
  LegacyEthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
@@ -189,7 +176,6 @@ LegacyEthProviderHelper.providers = {
189
176
  frame: _a.FrameProvider,
190
177
  gamestop: _a.GameStopProvider,
191
178
  injectedwallet: _a.UnknownInjectedProvider,
192
- metamask: _a.MetamaskProvider,
193
179
  opera: _a.OperaProvider,
194
180
  phantomevm: _a.PhantomProvider,
195
181
  rabby: _a.RabbyProvider,
@@ -2,7 +2,6 @@ import { Hex, PublicClient, WalletClient } from 'viem';
2
2
  import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { IEthereum, ProviderFlag } from './types';
4
4
  export declare class LegacyEthProviderHelper {
5
- static MetamaskProvider: () => IEthereum | undefined;
6
5
  static BraveProvider: () => IEthereum | undefined;
7
6
  static DawnProvider: () => IEthereum | undefined;
8
7
  static FrameProvider: () => IEthereum | undefined;
@@ -134,19 +134,6 @@ class LegacyEthProviderHelper {
134
134
  }
135
135
  }
136
136
  _a = LegacyEthProviderHelper;
137
- LegacyEthProviderHelper.MetamaskProvider = () =>
138
- // Stop these wallets from showing up as MetaMask
139
- _a.installedProviderLookup([
140
- { flag: 'isDawn', value: false },
141
- { flag: 'isBraveWallet', value: false },
142
- { flag: 'isTrustWallet', value: false },
143
- { flag: 'isExodus', value: false },
144
- { flag: 'isPhantom', value: false },
145
- { flag: 'isZerion', value: false },
146
- { flag: 'isMetaMask', value: true },
147
- { flag: 'isSuperb', value: false },
148
- { flag: 'isRabby', value: false },
149
- ]);
150
137
  LegacyEthProviderHelper.BraveProvider = () => _a.installedProviderLookup([{ flag: 'isBraveWallet', value: true }]);
151
138
  LegacyEthProviderHelper.DawnProvider = () => _a.installedProviderLookup([{ flag: 'isDawn', value: true }]);
152
139
  LegacyEthProviderHelper.FrameProvider = () => _a.installedProviderLookup([{ flag: 'isFrame', value: true }]);
@@ -185,7 +172,6 @@ LegacyEthProviderHelper.providers = {
185
172
  frame: _a.FrameProvider,
186
173
  gamestop: _a.GameStopProvider,
187
174
  injectedwallet: _a.UnknownInjectedProvider,
188
- metamask: _a.MetamaskProvider,
189
175
  opera: _a.OperaProvider,
190
176
  phantomevm: _a.PhantomProvider,
191
177
  rabby: _a.RabbyProvider,
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var LegacyInjectedWalletBase = require('./LegacyInjectedWalletBase.cjs');
6
-
7
- class MetaMask extends LegacyInjectedWalletBase {
8
- constructor() {
9
- super(...arguments);
10
- this.name = 'MetaMask';
11
- this.walletConnectorFallback = true;
12
- }
13
- }
14
-
15
- exports.MetaMask = MetaMask;
@@ -1,5 +0,0 @@
1
- import LegacyInjectedWalletBase from './LegacyInjectedWalletBase';
2
- export declare class MetaMask extends LegacyInjectedWalletBase {
3
- name: string;
4
- walletConnectorFallback: boolean;
5
- }
@@ -1,11 +0,0 @@
1
- import LegacyInjectedWalletBase from './LegacyInjectedWalletBase.js';
2
-
3
- class MetaMask extends LegacyInjectedWalletBase {
4
- constructor() {
5
- super(...arguments);
6
- this.name = 'MetaMask';
7
- this.walletConnectorFallback = true;
8
- }
9
- }
10
-
11
- export { MetaMask };