@dynamic-labs/ethereum 4.0.0-alpha.1 → 4.0.0-alpha.10

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,120 @@
1
1
 
2
+ ## [4.0.0-alpha.10](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2024-10-15)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * epicgames key name without dash ([#7119](https://github.com/dynamic-labs/dynamic-auth/issues/7119)) ([7388d6c](https://github.com/dynamic-labs/dynamic-auth/commit/7388d6cf98f6ee92e12003549dfd1ad81951119e))
8
+
9
+ ## [4.0.0-alpha.9](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2024-10-11)
10
+
11
+
12
+ ### Features
13
+
14
+ * add support for fordefi wallet ([#7109](https://github.com/dynamic-labs/dynamic-auth/issues/7109)) ([1adb6b1](https://github.com/dynamic-labs/dynamic-auth/commit/1adb6b15b7f8e9156207ac7addf4368d27c1e371))
15
+ * support ability to define additional oauth scopes ([#7105](https://github.com/dynamic-labs/dynamic-auth/issues/7105)) ([b303203](https://github.com/dynamic-labs/dynamic-auth/commit/b303203e8041c0cbf5f8968df0d3cde04ed1b22a))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * add eip6963 for exodus evm ([#7094](https://github.com/dynamic-labs/dynamic-auth/issues/7094)) ([c1ec5ef](https://github.com/dynamic-labs/dynamic-auth/commit/c1ec5ef4b6a531c563be4b690aa5f2bd4e7e6a16))
21
+
22
+ ## [4.0.0-alpha.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2024-10-07)
23
+
24
+
25
+ ### Features
26
+
27
+ * add support for dynamic event callbacks in rn ([#6997](https://github.com/dynamic-labs/dynamic-auth/issues/6997)) ([f9ac402](https://github.com/dynamic-labs/dynamic-auth/commit/f9ac40259d9168dfe69dafd5fd44478ba0e69505))
28
+ * add support for dynamic handlers in rn ([#7032](https://github.com/dynamic-labs/dynamic-auth/issues/7032)) ([f61f926](https://github.com/dynamic-labs/dynamic-auth/commit/f61f92666b6df8483dde2c47304fd4fb02690f7d))
29
+ * Support for multi-chain AA ([#6829](https://github.com/dynamic-labs/dynamic-auth/issues/6829)) ([b4a0c0a](https://github.com/dynamic-labs/dynamic-auth/commit/b4a0c0a4de48231a3748826600407c25abf6894d))
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * persist isHardwareWalletEnabled on wallet connector ([#7025](https://github.com/dynamic-labs/dynamic-auth/issues/7025)) ([#7034](https://github.com/dynamic-labs/dynamic-auth/issues/7034)) ([4bfc301](https://github.com/dynamic-labs/dynamic-auth/commit/4bfc301d891f10db8c0bd31e5164c489a882c5c3))
35
+
36
+ ## [4.0.0-alpha.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2024-10-03)
37
+
38
+
39
+ ### Features
40
+
41
+ * add account abstraction module to client ([#7002](https://github.com/dynamic-labs/dynamic-auth/issues/7002)) ([2f06975](https://github.com/dynamic-labs/dynamic-auth/commit/2f06975083dfa9d40537ef4a99b414eda1a68e01))
42
+ * add support for wallet events in rn ([#7061](https://github.com/dynamic-labs/dynamic-auth/issues/7061)) ([c7c4ce5](https://github.com/dynamic-labs/dynamic-auth/commit/c7c4ce51f27a2b84a1710c120d7006a00920c1e7))
43
+ * add zerodev extension for react native ([#7028](https://github.com/dynamic-labs/dynamic-auth/issues/7028)) ([858b8a8](https://github.com/dynamic-labs/dynamic-auth/commit/858b8a851cfa0cddc8e4559541b03992cf5ccdfc))
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * do not modify sol tx blockhash as tx could have been signed already ([#7050](https://github.com/dynamic-labs/dynamic-auth/issues/7050)) ([770edb4](https://github.com/dynamic-labs/dynamic-auth/commit/770edb49ddc231b75fb45a9f6d563f22e5185df2))
49
+ * ensure the correct auth mode is used on social redirect ([#7047](https://github.com/dynamic-labs/dynamic-auth/issues/7047)) ([7c27172](https://github.com/dynamic-labs/dynamic-auth/commit/7c271721d5ddf19e3fd1bf56ddb1d49e0e2bca07))
50
+ * prevent react native message timeout before sdk is ready ([#7051](https://github.com/dynamic-labs/dynamic-auth/issues/7051)) ([6421237](https://github.com/dynamic-labs/dynamic-auth/commit/6421237d677d788b824d53432c1a75b9d571aa78))
51
+ * update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
52
+ * use project settings sdk network for send flow ([#7011](https://github.com/dynamic-labs/dynamic-auth/issues/7011)) ([983e796](https://github.com/dynamic-labs/dynamic-auth/commit/983e79632762f71ee0502c92057a32ea985ae19c))
53
+
54
+ ## [4.0.0-alpha.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2024-10-01)
55
+
56
+
57
+ ### ⚠ BREAKING CHANGES
58
+
59
+ * remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
60
+
61
+ ### Features
62
+
63
+ * global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * add popper context to send balance ([#7016](https://github.com/dynamic-labs/dynamic-auth/issues/7016)) ([73aa6f1](https://github.com/dynamic-labs/dynamic-auth/commit/73aa6f122afe0db660ebb654f3e018ae7bf445c5))
69
+ * add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
70
+ * don't re-fetch wallet address on network change ([#7019](https://github.com/dynamic-labs/dynamic-auth/issues/7019)) ([4e7900c](https://github.com/dynamic-labs/dynamic-auth/commit/4e7900cc24b3abda736bc81466eda7512cf7fc61))
71
+ * fix sign message with solana wallet standard provider ([#7014](https://github.com/dynamic-labs/dynamic-auth/issues/7014)) ([ffaf972](https://github.com/dynamic-labs/dynamic-auth/commit/ffaf972e8b190b0b8cd0103e0ef67bfdee6c8f7c))
72
+ * update wallet reference when user switches wallet in connect-only ([#7030](https://github.com/dynamic-labs/dynamic-auth/issues/7030)) ([75d9aa6](https://github.com/dynamic-labs/dynamic-auth/commit/75d9aa66f63fc5536caeff12d8b860c0ba86106f))
73
+
74
+
75
+ ## [4.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2024-09-25)
76
+
77
+
78
+ ### Features
79
+
80
+ * add isInstalledOnBrowser prop to wallet options in useWalletOptions ([#6976](https://github.com/dynamic-labs/DynamicAuth/issues/6976)) ([0fda409](https://github.com/dynamic-labs/DynamicAuth/commit/0fda409b293c83d73869d791c3d38ac421dcdecb))
81
+
82
+
83
+ ### Bug Fixes
84
+
85
+ * **client:** return user profile when using sign in with external jwt ([#7004](https://github.com/dynamic-labs/DynamicAuth/issues/7004)) ([927cfb6](https://github.com/dynamic-labs/DynamicAuth/commit/927cfb69f3dd7f8b00e3f0f975277a84c99c830b))
86
+ * react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
87
+
88
+ ## [4.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2024-09-23)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * issue where builtin stream module was a dependency ([#6968](https://github.com/dynamic-labs/DynamicAuth/issues/6968)) ([0661129](https://github.com/dynamic-labs/DynamicAuth/commit/0661129920ba70ebbcd4d17ee5aa988c51d1b477))
94
+ * update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
95
+
96
+ ## [4.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2024-09-20)
97
+
98
+
99
+ ### Features
100
+
101
+ * developers provide global connectivity appkit project id ([#6941](https://github.com/dynamic-labs/DynamicAuth/issues/6941)) ([83760ea](https://github.com/dynamic-labs/DynamicAuth/commit/83760ea57591685b12caee945f173f6a7f9312d1))
102
+
103
+
104
+ ### Bug Fixes
105
+
106
+ * don't try to set up event listeners if wallet provider doesn't support it ([#6943](https://github.com/dynamic-labs/DynamicAuth/issues/6943)) ([439f1bb](https://github.com/dynamic-labs/DynamicAuth/commit/439f1bbb3c765959756cfc6eeb8429e4018e0379))
107
+ * dont verify all signatures for solana embedded multisig tx ([#6953](https://github.com/dynamic-labs/DynamicAuth/issues/6953)) ([7a7973e](https://github.com/dynamic-labs/DynamicAuth/commit/7a7973e05f0960421b348a55c6a00c9fd873b0b7))
108
+
109
+ ## [4.0.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.1...v4.0.0-alpha.2) (2024-09-18)
110
+
111
+
112
+ ### Features
113
+
114
+ * add iconVariant prop to DynamicBridgeWidget ([#6915](https://github.com/dynamic-labs/DynamicAuth/issues/6915)) ([8aa0f3d](https://github.com/dynamic-labs/DynamicAuth/commit/8aa0f3d8d8c41c7b5c4796106f611f208010cb6d))
115
+ * allow to create extra embedded wallets in react-native ([#6923](https://github.com/dynamic-labs/DynamicAuth/issues/6923)) ([ba22f7b](https://github.com/dynamic-labs/DynamicAuth/commit/ba22f7bcf41a444a4df0aff9b6aec257457e9402))
116
+ * **client:** add hide method for auth and userProfile ui modules ([#6928](https://github.com/dynamic-labs/DynamicAuth/issues/6928)) ([a11a4a5](https://github.com/dynamic-labs/DynamicAuth/commit/a11a4a5d6e25ce2a916ebd52f0b341020dc1a7e5))
117
+
2
118
  ## [4.0.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.0...v4.0.0-alpha.1) (2024-09-17)
3
119
 
4
120
 
package/package.cjs ADDED
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var version = "4.0.0-alpha.10";
7
+
8
+ exports.version = version;
package/package.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ var version = "4.0.0-alpha.10";
3
+
4
+ export { version };
package/package.json CHANGED
@@ -1,16 +1,7 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "4.0.0-alpha.1",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
- "directory": "packages/ethereum"
8
- },
3
+ "version": "4.0.0-alpha.10",
9
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
10
- "bugs": {
11
- "url": "https://github.com/dynamic-labs/DynamicAuth/issues"
12
- },
13
- "homepage": "https://github.com/dynamic-labs/DynamicAuth#readme",
14
5
  "author": "Dynamic Labs, Inc.",
15
6
  "license": "MIT",
16
7
  "main": "./src/index.cjs",
@@ -25,18 +16,20 @@
25
16
  },
26
17
  "./package.json": "./package.json"
27
18
  },
19
+ "homepage": "https://www.dynamic.xyz/",
28
20
  "dependencies": {
29
21
  "@coinbase/wallet-sdk": "4.0.4",
30
22
  "@walletconnect/ethereum-provider": "2.11.2",
23
+ "@walletconnect/types": "2.10.6",
31
24
  "eventemitter3": "5.0.1",
32
25
  "buffer": "6.0.3",
33
- "@dynamic-labs/embedded-wallet-evm": "4.0.0-alpha.1",
34
- "@dynamic-labs/ethereum-core": "4.0.0-alpha.1",
35
- "@dynamic-labs/types": "4.0.0-alpha.1",
36
- "@dynamic-labs/utils": "4.0.0-alpha.1",
37
- "@dynamic-labs/wallet-book": "4.0.0-alpha.1",
38
- "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.1",
39
- "stream": "0.0.2"
26
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.10",
27
+ "@dynamic-labs/embedded-wallet-evm": "4.0.0-alpha.10",
28
+ "@dynamic-labs/ethereum-core": "4.0.0-alpha.10",
29
+ "@dynamic-labs/types": "4.0.0-alpha.10",
30
+ "@dynamic-labs/utils": "4.0.0-alpha.10",
31
+ "@dynamic-labs/wallet-book": "4.0.0-alpha.10",
32
+ "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.10"
40
33
  },
41
34
  "peerDependencies": {
42
35
  "viem": "^2.7.6"
@@ -75,7 +75,7 @@ class EthProviderHelper {
75
75
  return this.findProvider() !== undefined;
76
76
  }
77
77
  findProvider() {
78
- return this.getInstalledProvider();
78
+ return this.connector.findProvider();
79
79
  }
80
80
  findWalletClient(chainId) {
81
81
  const provider = this.findProvider();
@@ -130,32 +130,43 @@ class EthProviderHelper {
130
130
  }
131
131
  _setupEventListeners(walletConnector) {
132
132
  const web3Provider = this.findProvider();
133
- if (!web3Provider) {
133
+ if (web3Provider && 'on' in web3Provider) {
134
+ const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
135
+ web3Provider.on('accountsChanged', handleAccountChange);
136
+ web3Provider.on('chainChanged', handleChainChange);
137
+ web3Provider.on('disconnect', handleDisconnect);
138
+ const tearDownEventListeners = () => {
139
+ const web3Provider = this.findProvider();
140
+ if (!web3Provider) {
141
+ return;
142
+ }
143
+ if (handleAccountChange) {
144
+ web3Provider.removeListener('accountsChanged', handleAccountChange);
145
+ }
146
+ if (handleChainChange) {
147
+ web3Provider.removeListener('chainChanged', handleChainChange);
148
+ }
149
+ if (handleDisconnect) {
150
+ web3Provider.removeListener('disconnect', handleDisconnect);
151
+ }
152
+ };
134
153
  return {
135
- tearDownEventListeners: () => { },
154
+ tearDownEventListeners,
136
155
  };
137
156
  }
138
- const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(walletConnector);
139
- web3Provider.on('accountsChanged', handleAccountChange);
140
- web3Provider.on('chainChanged', handleChainChange);
141
- web3Provider.on('disconnect', handleDisconnect);
142
- const tearDownEventListeners = () => {
143
- const web3Provider = this.findProvider();
144
- if (!web3Provider) {
145
- return;
146
- }
147
- if (handleAccountChange) {
148
- web3Provider.removeListener('accountsChanged', handleAccountChange);
149
- }
150
- if (handleChainChange) {
151
- web3Provider.removeListener('chainChanged', handleChainChange);
152
- }
153
- if (handleDisconnect) {
154
- web3Provider.removeListener('disconnect', handleDisconnect);
155
- }
156
- };
157
+ if (!web3Provider) {
158
+ walletConnectorCore.logger.warn('Provider not found', {
159
+ connector: walletConnector,
160
+ });
161
+ }
162
+ else if (!('on' in web3Provider)) {
163
+ walletConnectorCore.logger.warn('Provider does not support event listeners', {
164
+ connector: walletConnector,
165
+ provider: web3Provider,
166
+ });
167
+ }
157
168
  return {
158
- tearDownEventListeners,
169
+ tearDownEventListeners: () => { },
159
170
  };
160
171
  }
161
172
  }
@@ -1,12 +1,12 @@
1
1
  import { Hex, WalletClient, Account, Transport, Chain as ViemChain } from 'viem';
2
2
  import { ProviderCondition, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { WalletSchema } from '@dynamic-labs/wallet-book';
4
- import { EthWalletConnector } from '@dynamic-labs/ethereum-core';
5
4
  import { IEthereum, ExtensionLocator } from './types';
5
+ import InjectedWalletBase from './injected/InjectedWalletBase';
6
6
  export declare class EthProviderHelper {
7
7
  private wallet;
8
8
  private connector;
9
- constructor(wallet: WalletSchema, connector: EthWalletConnector);
9
+ constructor(wallet: WalletSchema, connector: InjectedWalletBase);
10
10
  getInstalledProvider(): IEthereum | undefined;
11
11
  getEip6963Config(): {
12
12
  rdns: string;
@@ -71,7 +71,7 @@ class EthProviderHelper {
71
71
  return this.findProvider() !== undefined;
72
72
  }
73
73
  findProvider() {
74
- return this.getInstalledProvider();
74
+ return this.connector.findProvider();
75
75
  }
76
76
  findWalletClient(chainId) {
77
77
  const provider = this.findProvider();
@@ -126,32 +126,43 @@ class EthProviderHelper {
126
126
  }
127
127
  _setupEventListeners(walletConnector) {
128
128
  const web3Provider = this.findProvider();
129
- if (!web3Provider) {
129
+ if (web3Provider && 'on' in web3Provider) {
130
+ const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
131
+ web3Provider.on('accountsChanged', handleAccountChange);
132
+ web3Provider.on('chainChanged', handleChainChange);
133
+ web3Provider.on('disconnect', handleDisconnect);
134
+ const tearDownEventListeners = () => {
135
+ const web3Provider = this.findProvider();
136
+ if (!web3Provider) {
137
+ return;
138
+ }
139
+ if (handleAccountChange) {
140
+ web3Provider.removeListener('accountsChanged', handleAccountChange);
141
+ }
142
+ if (handleChainChange) {
143
+ web3Provider.removeListener('chainChanged', handleChainChange);
144
+ }
145
+ if (handleDisconnect) {
146
+ web3Provider.removeListener('disconnect', handleDisconnect);
147
+ }
148
+ };
130
149
  return {
131
- tearDownEventListeners: () => { },
150
+ tearDownEventListeners,
132
151
  };
133
152
  }
134
- const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(walletConnector);
135
- web3Provider.on('accountsChanged', handleAccountChange);
136
- web3Provider.on('chainChanged', handleChainChange);
137
- web3Provider.on('disconnect', handleDisconnect);
138
- const tearDownEventListeners = () => {
139
- const web3Provider = this.findProvider();
140
- if (!web3Provider) {
141
- return;
142
- }
143
- if (handleAccountChange) {
144
- web3Provider.removeListener('accountsChanged', handleAccountChange);
145
- }
146
- if (handleChainChange) {
147
- web3Provider.removeListener('chainChanged', handleChainChange);
148
- }
149
- if (handleDisconnect) {
150
- web3Provider.removeListener('disconnect', handleDisconnect);
151
- }
152
- };
153
+ if (!web3Provider) {
154
+ logger.warn('Provider not found', {
155
+ connector: walletConnector,
156
+ });
157
+ }
158
+ else if (!('on' in web3Provider)) {
159
+ logger.warn('Provider does not support event listeners', {
160
+ connector: walletConnector,
161
+ provider: web3Provider,
162
+ });
163
+ }
153
164
  return {
154
- tearDownEventListeners,
165
+ tearDownEventListeners: () => { },
155
166
  };
156
167
  }
157
168
  }
package/src/index.cjs CHANGED
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  require('./polyfills.cjs');
7
7
  var embeddedWalletEvm = require('@dynamic-labs/embedded-wallet-evm');
8
+ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
9
+ var _package = require('../package.cjs');
8
10
  var PhantomEvm = require('./injected/PhantomEvm.cjs');
9
11
  var ExodusEvm = require('./injected/ExodusEvm.cjs');
10
12
  var UnknownInjected = require('./injected/UnknownInjected.cjs');
@@ -17,6 +19,7 @@ var ethereumCore = require('@dynamic-labs/ethereum-core');
17
19
  var ethProviderHelper = require('./ethProviderHelper.cjs');
18
20
  var constants = require('./constants.cjs');
19
21
 
22
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/ethereum', _package.version);
20
23
  const EthereumWalletConnectors = (props) => [
21
24
  ...fetchInjectedWalletConnectors.injectedWalletOverrides,
22
25
  ...fetchInjectedWalletConnectors.fetchInjectedWalletConnector(props),
package/src/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  'use client'
2
2
  import './polyfills.js';
3
3
  import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/embedded-wallet-evm';
4
+ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
5
+ import { version } from '../package.js';
4
6
  export { PhantomEvm } from './injected/PhantomEvm.js';
5
7
  export { ExodusEvm } from './injected/ExodusEvm.js';
6
8
  import { UnknownInjected } from './injected/UnknownInjected.js';
@@ -16,6 +18,7 @@ export { isEthereumWallet } from '@dynamic-labs/ethereum-core';
16
18
  export { EthProviderHelper } from './ethProviderHelper.js';
17
19
  export { INFURA_ID } from './constants.js';
18
20
 
21
+ assertPackageVersion('@dynamic-labs/ethereum', version);
19
22
  const EthereumWalletConnectors = (props) => [
20
23
  ...injectedWalletOverrides,
21
24
  ...fetchInjectedWalletConnector(props),
@@ -51,6 +51,12 @@ class InjectedWalletBase extends ethereumCore.EthWalletConnector {
51
51
  }
52
52
  return new walletConnect.WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
53
53
  }
54
+ findProvider() {
55
+ const ethProviderHelper = this.getEthProviderHelper();
56
+ if (!ethProviderHelper)
57
+ return;
58
+ return ethProviderHelper.getInstalledProvider();
59
+ }
54
60
  setupEventListeners() {
55
61
  const provider = this.getWalletClient();
56
62
  if (!provider)
@@ -4,6 +4,7 @@ import { EvmNetwork } from '@dynamic-labs/types';
4
4
  import { WalletSchema } from '@dynamic-labs/wallet-book';
5
5
  import { EthWalletConnector } from '@dynamic-labs/ethereum-core';
6
6
  import { EthProviderHelper } from '../ethProviderHelper';
7
+ import { IEthereum } from '../types';
7
8
  declare abstract class InjectedWalletBase extends EthWalletConnector {
8
9
  supportedChains: Chain[];
9
10
  connectedChain: Chain;
@@ -13,6 +14,7 @@ declare abstract class InjectedWalletBase extends EthWalletConnector {
13
14
  wallet: WalletSchema | undefined;
14
15
  getEthProviderHelper(): EthProviderHelper | undefined;
15
16
  getMobileOrInstalledWallet(): InjectedWalletBase;
17
+ findProvider(): IEthereum | undefined;
16
18
  setupEventListeners(): void;
17
19
  getWalletClient(chainId?: string): WalletClient<Transport, ViemChain, Account> | undefined;
18
20
  isInstalledOnBrowser(): boolean;
@@ -49,6 +49,12 @@ class InjectedWalletBase extends EthWalletConnector {
49
49
  }
50
50
  return new WalletConnect(Object.assign(Object.assign({}, this.constructorProps), { walletName: this.name }));
51
51
  }
52
+ findProvider() {
53
+ const ethProviderHelper = this.getEthProviderHelper();
54
+ if (!ethProviderHelper)
55
+ return;
56
+ return ethProviderHelper.getInstalledProvider();
57
+ }
52
58
  setupEventListeners() {
53
59
  const provider = this.getWalletClient();
54
60
  if (!provider)
package/src/types.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { EventEmitter } from 'stream';
1
+ import { type EventEmitter } from 'eventemitter3';
4
2
  import { PublicClient } from 'viem';
5
3
  import { ProviderCondition } from '@dynamic-labs/wallet-connector-core';
6
4
  declare global {