@dynamic-labs/ethereum 2.1.0-alpha.0 → 2.1.0-alpha.2

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_virtual/_tslib.cjs +1 -0
  3. package/_virtual/_tslib.js +1 -0
  4. package/package.json +9 -8
  5. package/src/EthWalletConnector.cjs +16 -26
  6. package/src/EthWalletConnector.js +16 -26
  7. package/src/coinbase/client/client.cjs +1 -0
  8. package/src/coinbase/client/client.js +1 -0
  9. package/src/coinbase/coinbase.cjs +3 -2
  10. package/src/coinbase/coinbase.js +3 -2
  11. package/src/constants.cjs +1 -0
  12. package/src/constants.js +1 -0
  13. package/src/eip6963Provider.cjs +1 -0
  14. package/src/eip6963Provider.js +1 -0
  15. package/src/ethProviderHelper.cjs +1 -0
  16. package/src/ethProviderHelper.js +1 -0
  17. package/src/index.cjs +3 -0
  18. package/src/index.js +2 -0
  19. package/src/injected/ExodusEvm.cjs +1 -0
  20. package/src/injected/ExodusEvm.js +1 -0
  21. package/src/injected/InjectedWalletBase.cjs +5 -4
  22. package/src/injected/InjectedWalletBase.js +5 -4
  23. package/src/injected/PhantomEvm.cjs +1 -0
  24. package/src/injected/PhantomEvm.js +1 -0
  25. package/src/injected/Zerion.cjs +1 -0
  26. package/src/injected/Zerion.js +1 -0
  27. package/src/injected/fetchInjectedWalletConnectors.cjs +2 -1
  28. package/src/injected/fetchInjectedWalletConnectors.js +2 -1
  29. package/src/polyfills.cjs +1 -0
  30. package/src/polyfills.js +1 -0
  31. package/src/types.d.ts +1 -0
  32. package/src/utils/findEvmNetwork.cjs +1 -0
  33. package/src/utils/findEvmNetwork.d.ts +2 -2
  34. package/src/utils/findEvmNetwork.js +1 -0
  35. package/src/utils/getNameservice.cjs +46 -0
  36. package/src/utils/getNameservice.d.ts +6 -0
  37. package/src/utils/getNameservice.js +42 -0
  38. package/src/utils/index.d.ts +1 -0
  39. package/src/utils/isEthWalletConnector/isEthWalletConnector.cjs +1 -0
  40. package/src/utils/isEthWalletConnector/isEthWalletConnector.js +1 -0
  41. package/src/utils/parseIntSafe.cjs +1 -0
  42. package/src/utils/parseIntSafe.js +1 -0
  43. package/src/walletConnect/fetchWalletConnectWallets.cjs +1 -0
  44. package/src/walletConnect/fetchWalletConnectWallets.js +1 -0
  45. package/src/walletConnect/walletConnect.cjs +6 -5
  46. package/src/walletConnect/walletConnect.js +6 -5
package/CHANGELOG.md CHANGED
@@ -1,4 +1,32 @@
1
1
 
2
+ ## [2.1.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.1...v2.1.0-alpha.2) (2024-04-19)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * buffer polyfill for utils package ([#5404](https://github.com/dynamic-labs/DynamicAuth/issues/5404)) ([bd40441](https://github.com/dynamic-labs/DynamicAuth/commit/bd404414a2e51d79fad86d7603dae89628c225b9))
8
+
9
+ ## [2.1.0-alpha.1](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.0...v2.1.0-alpha.1) (2024-04-18)
10
+
11
+
12
+ ### Features
13
+
14
+ * add frame metadata to demo index page ([#5327](https://github.com/dynamic-labs/DynamicAuth/issues/5327)) ([34a071a](https://github.com/dynamic-labs/DynamicAuth/commit/34a071af8faa8a867ad747ec2a607056a883568d))
15
+ * add MfaChooseDeviceView and MfaSecureDeviceView ([#5343](https://github.com/dynamic-labs/DynamicAuth/issues/5343)) ([4c39b1c](https://github.com/dynamic-labs/DynamicAuth/commit/4c39b1c34b5091190b095770e95a733c8f458ca2)), closes [#5356](https://github.com/dynamic-labs/DynamicAuth/issues/5356)
16
+ * add redirectUri to farcaster connect ([#5373](https://github.com/dynamic-labs/DynamicAuth/issues/5373)) ([ed13fc2](https://github.com/dynamic-labs/DynamicAuth/commit/ed13fc2948e06df0017ac122db54aca44f264a6d))
17
+ * add useMfa hook ([#5337](https://github.com/dynamic-labs/DynamicAuth/issues/5337)) ([a7682ba](https://github.com/dynamic-labs/DynamicAuth/commit/a7682ba10fd0f0809af802e0172154726f1bd857))
18
+ * headless create session and is session active ([#5346](https://github.com/dynamic-labs/DynamicAuth/issues/5346)) ([a787bbc](https://github.com/dynamic-labs/DynamicAuth/commit/a787bbcbb44104d2d0bd263579bd87a78453681d))
19
+ * secure enclave wallet generate one-time code headless ([#5329](https://github.com/dynamic-labs/DynamicAuth/issues/5329)) ([cab80a2](https://github.com/dynamic-labs/DynamicAuth/commit/cab80a2bfa77e48263d47cdcb813c54ef5b831d5))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * always stringify the message before signing a message using walletUiUtils ([#5325](https://github.com/dynamic-labs/DynamicAuth/issues/5325)) ([7abf094](https://github.com/dynamic-labs/DynamicAuth/commit/7abf09456e30ad0657892e9ba58d7391f0f430e6))
25
+ * bitcoin network connector sendBitcoin methods updates ([#5369](https://github.com/dynamic-labs/DynamicAuth/issues/5369)) ([e9bf444](https://github.com/dynamic-labs/DynamicAuth/commit/e9bf444122ee86030d85b84ede96bdfb9772425e))
26
+ * buffer missing when using buffer util function ([#5360](https://github.com/dynamic-labs/DynamicAuth/issues/5360)) ([e998e46](https://github.com/dynamic-labs/DynamicAuth/commit/e998e464bd2671a82aa271b407a7d8fc49a16bd0))
27
+ * embedded solana send transaction shouldn't sign a signed transaction ([#5357](https://github.com/dynamic-labs/DynamicAuth/issues/5357)) ([c2ae2fa](https://github.com/dynamic-labs/DynamicAuth/commit/c2ae2faa509b62fc5ceb345fbc0f0b47217bf4b0))
28
+ * use network.name if vanity name is missing ([#5338](https://github.com/dynamic-labs/DynamicAuth/issues/5338)) ([34ec2ae](https://github.com/dynamic-labs/DynamicAuth/commit/34ec2ae5c4dad5376a3b9c5a07221f68a2f7756c))
29
+
2
30
  ## [2.1.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.32...v2.1.0-alpha.0) (2024-04-15)
3
31
 
4
32
  ## [2.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.31...v2.0.0-alpha.32) (2024-04-15)
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  /******************************************************************************
2
3
  Copyright (c) Microsoft Corporation.
3
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "2.1.0-alpha.0",
3
+ "version": "2.1.0-alpha.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,17 +26,18 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
+ "@dynamic-labs/sdk-api-core": "0.0.423",
29
30
  "@coinbase/wallet-sdk": "3.9.3",
30
31
  "@walletconnect/ethereum-provider": "2.11.2",
31
32
  "eventemitter3": "5.0.1",
32
33
  "buffer": "6.0.3",
33
- "@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.0",
34
- "@dynamic-labs/turnkey": "2.1.0-alpha.0",
35
- "@dynamic-labs/types": "2.1.0-alpha.0",
36
- "@dynamic-labs/utils": "2.1.0-alpha.0",
37
- "@dynamic-labs/viem-utils": "2.1.0-alpha.0",
38
- "@dynamic-labs/wallet-book": "2.1.0-alpha.0",
39
- "@dynamic-labs/wallet-connector-core": "2.1.0-alpha.0",
34
+ "@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.2",
35
+ "@dynamic-labs/turnkey": "2.1.0-alpha.2",
36
+ "@dynamic-labs/types": "2.1.0-alpha.2",
37
+ "@dynamic-labs/utils": "2.1.0-alpha.2",
38
+ "@dynamic-labs/viem-utils": "2.1.0-alpha.2",
39
+ "@dynamic-labs/wallet-book": "2.1.0-alpha.2",
40
+ "@dynamic-labs/wallet-connector-core": "2.1.0-alpha.2",
40
41
  "stream": "0.0.2"
41
42
  },
42
43
  "peerDependencies": {
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -8,11 +9,12 @@ var accounts = require('viem/accounts');
8
9
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
10
  var utils = require('@dynamic-labs/utils');
10
11
  var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
12
+ var getNameservice = require('./utils/getNameservice.cjs');
11
13
 
12
14
  class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
13
15
  getPublicClient() {
14
- var _a, _b, _c;
15
16
  return _tslib.__awaiter(this, void 0, void 0, function* () {
17
+ var _a, _b, _c;
16
18
  const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
17
19
  if (this.evmNetworks.length === 0) {
18
20
  return undefined;
@@ -67,19 +69,7 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
67
69
  if (!address || !rpcProvider) {
68
70
  return;
69
71
  }
70
- const ensName = yield rpcProvider.getEnsName({
71
- address: address,
72
- });
73
- const ensAvatar = ensName
74
- ? yield rpcProvider.getEnsAvatar({
75
- name: ensName,
76
- })
77
- : undefined;
78
- const ensData = {
79
- avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
80
- name: ensName !== null && ensName !== void 0 ? ensName : undefined,
81
- };
82
- return ensData;
72
+ return getNameservice.getNameservice({ address, rpcProvider });
83
73
  });
84
74
  }
85
75
  getSigner() {
@@ -106,8 +96,8 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
106
96
  supportsNetworkSwitching() {
107
97
  return true;
108
98
  }
109
- switchNetwork({ networkName, networkChainId, }) {
110
- return _tslib.__awaiter(this, void 0, void 0, function* () {
99
+ switchNetwork(_a) {
100
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
111
101
  const network = findEvmNetwork.findEvmNetwork({
112
102
  chainId: networkChainId,
113
103
  name: networkName,
@@ -141,9 +131,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
141
131
  return addresses;
142
132
  });
143
133
  }
144
- providerSwitchNetwork({ network, provider, }) {
145
- var _a, _b, _c, _d;
146
- return _tslib.__awaiter(this, void 0, void 0, function* () {
134
+ providerSwitchNetwork(_a) {
135
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
136
+ var _b, _c, _d, _e;
147
137
  const { chainId } = network;
148
138
  const currentNetworkId = yield this.getNetwork();
149
139
  if (currentNetworkId && currentNetworkId === chainId) {
@@ -158,14 +148,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
158
148
  catch (error) {
159
149
  // we need to check for unrecognized chain error first because it also contains 'rejected' in message
160
150
  if (error.code === 4902 ||
161
- ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Unrecognized chain')) ||
151
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
162
152
  // https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
163
- ((_c = (_b = error.data) === null || _b === void 0 ? void 0 : _b.orginalError) === null || _c === void 0 ? void 0 : _c.code) === 4902) {
153
+ ((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
164
154
  // error code indicates the chain has not been added yet
165
155
  // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
166
156
  return this.providerAddNetwork({ network, provider });
167
157
  }
168
- else if (((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('rejected')) ||
158
+ else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
169
159
  (typeof error === 'string' && error.includes('rejected'))) {
170
160
  throw new utils.DynamicError("User rejected the wallet's request to switch network");
171
161
  }
@@ -175,14 +165,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
175
165
  }
176
166
  });
177
167
  }
178
- providerAddNetwork({ network, provider, }) {
179
- var _a;
180
- return _tslib.__awaiter(this, void 0, void 0, function* () {
168
+ providerAddNetwork(_a) {
169
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
170
+ var _b;
181
171
  try {
182
172
  return yield provider.addChain({ chain: utils.getOrMapViemChain(network) });
183
173
  }
184
174
  catch (error) {
185
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
175
+ if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
186
176
  (typeof error === 'string' && error.includes('rejected'))) {
187
177
  throw new utils.DynamicError("User rejected the wallet's request to add network");
188
178
  }
@@ -1,14 +1,16 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../_virtual/_tslib.js';
2
3
  import { formatEther } from 'viem';
3
4
  import { toAccount } from 'viem/accounts';
4
5
  import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
5
6
  import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, getOrMapViemChain } from '@dynamic-labs/utils';
6
7
  import { findEvmNetwork } from './utils/findEvmNetwork.js';
8
+ import { getNameservice } from './utils/getNameservice.js';
7
9
 
8
10
  class EthWalletConnector extends WalletConnectorBase {
9
11
  getPublicClient() {
10
- var _a, _b, _c;
11
12
  return __awaiter(this, void 0, void 0, function* () {
13
+ var _a, _b, _c;
12
14
  const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
13
15
  if (this.evmNetworks.length === 0) {
14
16
  return undefined;
@@ -63,19 +65,7 @@ class EthWalletConnector extends WalletConnectorBase {
63
65
  if (!address || !rpcProvider) {
64
66
  return;
65
67
  }
66
- const ensName = yield rpcProvider.getEnsName({
67
- address: address,
68
- });
69
- const ensAvatar = ensName
70
- ? yield rpcProvider.getEnsAvatar({
71
- name: ensName,
72
- })
73
- : undefined;
74
- const ensData = {
75
- avatar: ensAvatar !== null && ensAvatar !== void 0 ? ensAvatar : undefined,
76
- name: ensName !== null && ensName !== void 0 ? ensName : undefined,
77
- };
78
- return ensData;
68
+ return getNameservice({ address, rpcProvider });
79
69
  });
80
70
  }
81
71
  getSigner() {
@@ -102,8 +92,8 @@ class EthWalletConnector extends WalletConnectorBase {
102
92
  supportsNetworkSwitching() {
103
93
  return true;
104
94
  }
105
- switchNetwork({ networkName, networkChainId, }) {
106
- return __awaiter(this, void 0, void 0, function* () {
95
+ switchNetwork(_a) {
96
+ return __awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
107
97
  const network = findEvmNetwork({
108
98
  chainId: networkChainId,
109
99
  name: networkName,
@@ -137,9 +127,9 @@ class EthWalletConnector extends WalletConnectorBase {
137
127
  return addresses;
138
128
  });
139
129
  }
140
- providerSwitchNetwork({ network, provider, }) {
141
- var _a, _b, _c, _d;
142
- return __awaiter(this, void 0, void 0, function* () {
130
+ providerSwitchNetwork(_a) {
131
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
132
+ var _b, _c, _d, _e;
143
133
  const { chainId } = network;
144
134
  const currentNetworkId = yield this.getNetwork();
145
135
  if (currentNetworkId && currentNetworkId === chainId) {
@@ -154,14 +144,14 @@ class EthWalletConnector extends WalletConnectorBase {
154
144
  catch (error) {
155
145
  // we need to check for unrecognized chain error first because it also contains 'rejected' in message
156
146
  if (error.code === 4902 ||
157
- ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Unrecognized chain')) ||
147
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
158
148
  // https://github.com/MetaMask/metamask-mobile/issues/3312#issuecomment-1065923294
159
- ((_c = (_b = error.data) === null || _b === void 0 ? void 0 : _b.orginalError) === null || _c === void 0 ? void 0 : _c.code) === 4902) {
149
+ ((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
160
150
  // error code indicates the chain has not been added yet
161
151
  // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
162
152
  return this.providerAddNetwork({ network, provider });
163
153
  }
164
- else if (((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('rejected')) ||
154
+ else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
165
155
  (typeof error === 'string' && error.includes('rejected'))) {
166
156
  throw new DynamicError("User rejected the wallet's request to switch network");
167
157
  }
@@ -171,14 +161,14 @@ class EthWalletConnector extends WalletConnectorBase {
171
161
  }
172
162
  });
173
163
  }
174
- providerAddNetwork({ network, provider, }) {
175
- var _a;
176
- return __awaiter(this, void 0, void 0, function* () {
164
+ providerAddNetwork(_a) {
165
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
166
+ var _b;
177
167
  try {
178
168
  return yield provider.addChain({ chain: getOrMapViemChain(network) });
179
169
  }
180
170
  catch (error) {
181
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
171
+ if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
182
172
  (typeof error === 'string' && error.includes('rejected'))) {
183
173
  throw new DynamicError("User rejected the wallet's request to add network");
184
174
  }
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../../../_virtual/_tslib.js';
2
3
  import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
3
4
  import { toHex, toBytes } from 'viem';
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -60,8 +61,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
60
61
  return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
61
62
  }
62
63
  getAddress(opts) {
63
- var _a;
64
64
  return _tslib.__awaiter(this, void 0, void 0, function* () {
65
+ var _a;
65
66
  if (this.isInstalledOnBrowser()) {
66
67
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
67
68
  }
@@ -69,8 +70,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
69
70
  });
70
71
  }
71
72
  signMessage(messageToSign) {
72
- var _a;
73
73
  return _tslib.__awaiter(this, void 0, void 0, function* () {
74
+ var _a;
74
75
  if (this.isInstalledOnBrowser()) {
75
76
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
76
77
  }
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __rest, __awaiter } from '../../_virtual/_tslib.js';
2
3
  import { createWalletClient, custom } from 'viem';
3
4
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
@@ -56,8 +57,8 @@ class Coinbase extends EthWalletConnector {
56
57
  return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
57
58
  }
58
59
  getAddress(opts) {
59
- var _a;
60
60
  return __awaiter(this, void 0, void 0, function* () {
61
+ var _a;
61
62
  if (this.isInstalledOnBrowser()) {
62
63
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
63
64
  }
@@ -65,8 +66,8 @@ class Coinbase extends EthWalletConnector {
65
66
  });
66
67
  }
67
68
  signMessage(messageToSign) {
68
- var _a;
69
69
  return __awaiter(this, void 0, void 0, function* () {
70
+ var _a;
70
71
  if (this.isInstalledOnBrowser()) {
71
72
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
72
73
  }
package/src/constants.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
package/src/constants.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  const INFURA_ID = '87939db78f824920ada5c872db3e56b8';
2
3
 
3
4
  export { INFURA_ID };
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  const isEip9693Event = (event) => event.type === 'eip6963:announceProvider' &&
2
3
  event.detail !== undefined;
3
4
  class Eip6963Provider {
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../_virtual/_tslib.js';
2
3
  import { createWalletClient, custom, getAddress } from 'viem';
3
4
  import { ProviderLookup, eventListenerHandlers, logger } from '@dynamic-labs/wallet-connector-core';
package/src/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -15,6 +16,7 @@ var EthWalletConnector = require('./EthWalletConnector.cjs');
15
16
  var ethProviderHelper = require('./ethProviderHelper.cjs');
16
17
  var constants = require('./constants.cjs');
17
18
  var isEthWalletConnector = require('./utils/isEthWalletConnector/isEthWalletConnector.cjs');
19
+ var getNameservice = require('./utils/getNameservice.cjs');
18
20
 
19
21
  const EthereumWalletConnectors = (props) => [
20
22
  ...fetchInjectedWalletConnectors.injectedWalletOverrides,
@@ -33,4 +35,5 @@ exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
33
35
  exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
34
36
  exports.INFURA_ID = constants.INFURA_ID;
35
37
  exports.isEthWalletConnector = isEthWalletConnector.isEthWalletConnector;
38
+ exports.getNameservice = getNameservice.getNameservice;
36
39
  exports.EthereumWalletConnectors = EthereumWalletConnectors;
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import './polyfills.js';
2
3
  import { TurnkeyEVMWalletConnectors } from '@dynamic-labs/turnkey';
3
4
  export { PhantomEvm } from './injected/PhantomEvm.js';
@@ -12,6 +13,7 @@ export { EthWalletConnector } from './EthWalletConnector.js';
12
13
  export { EthProviderHelper } from './ethProviderHelper.js';
13
14
  export { INFURA_ID } from './constants.js';
14
15
  export { isEthWalletConnector } from './utils/isEthWalletConnector/isEthWalletConnector.js';
16
+ export { getNameservice } from './utils/getNameservice.js';
15
17
 
16
18
  const EthereumWalletConnectors = (props) => [
17
19
  ...injectedWalletOverrides,
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
2
3
  import InjectedWalletBase from './InjectedWalletBase.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  var _tslib = require('../../_virtual/_tslib.cjs');
@@ -69,8 +70,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
69
70
  return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
70
71
  }
71
72
  getAddress() {
72
- var _a;
73
73
  return _tslib.__awaiter(this, void 0, void 0, function* () {
74
+ var _a;
74
75
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
75
76
  });
76
77
  }
@@ -80,8 +81,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
80
81
  });
81
82
  }
82
83
  signMessage(messageToSign) {
83
- var _a;
84
84
  return _tslib.__awaiter(this, void 0, void 0, function* () {
85
+ var _a;
85
86
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
86
87
  });
87
88
  }
@@ -96,11 +97,11 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
96
97
  return;
97
98
  });
98
99
  }
99
- providerSwitchNetwork({ network, provider, }) {
100
+ providerSwitchNetwork(_a) {
100
101
  const _super = Object.create(null, {
101
102
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
102
103
  });
103
- return _tslib.__awaiter(this, void 0, void 0, function* () {
104
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
104
105
  return _super.providerSwitchNetwork.call(this, { network, provider });
105
106
  });
106
107
  }
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../../_virtual/_tslib.js';
2
3
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
3
4
  import { isMobile } from '@dynamic-labs/utils';
@@ -67,8 +68,8 @@ class InjectedWalletBase extends EthWalletConnector {
67
68
  return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
68
69
  }
69
70
  getAddress() {
70
- var _a;
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
+ var _a;
72
73
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
73
74
  });
74
75
  }
@@ -78,8 +79,8 @@ class InjectedWalletBase extends EthWalletConnector {
78
79
  });
79
80
  }
80
81
  signMessage(messageToSign) {
81
- var _a;
82
82
  return __awaiter(this, void 0, void 0, function* () {
83
+ var _a;
83
84
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
84
85
  });
85
86
  }
@@ -94,11 +95,11 @@ class InjectedWalletBase extends EthWalletConnector {
94
95
  return;
95
96
  });
96
97
  }
97
- providerSwitchNetwork({ network, provider, }) {
98
+ providerSwitchNetwork(_a) {
98
99
  const _super = Object.create(null, {
99
100
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
100
101
  });
101
- return __awaiter(this, void 0, void 0, function* () {
102
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
102
103
  return _super.providerSwitchNetwork.call(this, { network, provider });
103
104
  });
104
105
  }
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../../_virtual/_tslib.js';
2
3
  import { isMobile, handleMobileWalletRedirect } from '@dynamic-labs/utils';
3
4
  import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import InjectedWalletBase from './InjectedWalletBase.js';
2
3
 
3
4
  // on desktop, we use EIP-6963 to connect to the wallet so the injectedConfig
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -45,8 +46,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
45
46
  const _super = Object.create(null, {
46
47
  getAddress: { get: () => super.getAddress }
47
48
  });
48
- var _a;
49
49
  return _tslib.__awaiter(this, void 0, void 0, function* () {
50
+ var _a;
50
51
  if (this.isInstalledOnBrowser()) {
51
52
  return _super.getAddress.call(this);
52
53
  }
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../../_virtual/_tslib.js';
2
3
  import { logger } from '@dynamic-labs/wallet-connector-core';
3
4
  import InjectedWalletBase from './InjectedWalletBase.js';
@@ -41,8 +42,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
41
42
  const _super = Object.create(null, {
42
43
  getAddress: { get: () => super.getAddress }
43
44
  });
44
- var _a;
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
+ var _a;
46
47
  if (this.isInstalledOnBrowser()) {
47
48
  return _super.getAddress.call(this);
48
49
  }
package/src/polyfills.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  var _ = require('buffer/');
package/src/polyfills.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { Buffer } from 'buffer/index.js';
2
3
 
3
4
  /* eslint-disable */
package/src/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { EventEmitter } from 'stream';
3
4
  import { PublicClient } from 'viem';
4
5
  import { ProviderCondition } from '@dynamic-labs/wallet-connector-core';
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,6 +1,6 @@
1
1
  import { EvmNetwork } from '@dynamic-labs/types';
2
2
  export declare const findEvmNetwork: ({ chainId, name, networks, }: {
3
- chainId?: number | undefined;
4
- name?: string | undefined;
3
+ chainId?: number;
4
+ name?: string;
5
5
  networks: EvmNetwork[];
6
6
  }) => EvmNetwork | undefined;
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  const findEvmNetwork = ({ chainId, name, networks, }) => {
2
3
  if (!chainId && !name) {
3
4
  return undefined;
@@ -0,0 +1,46 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../_virtual/_tslib.cjs');
7
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
+
9
+ const getNameservice = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
10
+ var _b;
11
+ const nsData = {
12
+ avatar: undefined,
13
+ name: undefined,
14
+ };
15
+ const network = yield rpcProvider.getChainId();
16
+ if (!network) {
17
+ return nsData;
18
+ }
19
+ // Handle Base name service requests
20
+ if (network === 8453) {
21
+ try {
22
+ const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
23
+ if (response.ok) {
24
+ const data = yield response.json();
25
+ nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
26
+ }
27
+ }
28
+ catch (e) {
29
+ walletConnectorCore.logger.debug('Failed to fetch ens data', e);
30
+ }
31
+ return nsData;
32
+ }
33
+ else {
34
+ nsData.name = (yield rpcProvider.getEnsName({
35
+ address: address,
36
+ }));
37
+ nsData.avatar = nsData.name
38
+ ? (yield rpcProvider.getEnsAvatar({
39
+ name: nsData.name,
40
+ }))
41
+ : undefined;
42
+ }
43
+ return nsData;
44
+ });
45
+
46
+ exports.getNameservice = getNameservice;
@@ -0,0 +1,6 @@
1
+ import { PublicClient } from 'viem';
2
+ import { NameServiceData } from '@dynamic-labs/sdk-api-core';
3
+ export declare const getNameservice: ({ rpcProvider, address, }: {
4
+ rpcProvider: PublicClient;
5
+ address: string;
6
+ }) => Promise<NameServiceData>;
@@ -0,0 +1,42 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../_virtual/_tslib.js';
3
+ import { logger } from '@dynamic-labs/wallet-connector-core';
4
+
5
+ const getNameservice = (_a) => __awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
6
+ var _b;
7
+ const nsData = {
8
+ avatar: undefined,
9
+ name: undefined,
10
+ };
11
+ const network = yield rpcProvider.getChainId();
12
+ if (!network) {
13
+ return nsData;
14
+ }
15
+ // Handle Base name service requests
16
+ if (network === 8453) {
17
+ try {
18
+ const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
19
+ if (response.ok) {
20
+ const data = yield response.json();
21
+ nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
22
+ }
23
+ }
24
+ catch (e) {
25
+ logger.debug('Failed to fetch ens data', e);
26
+ }
27
+ return nsData;
28
+ }
29
+ else {
30
+ nsData.name = (yield rpcProvider.getEnsName({
31
+ address: address,
32
+ }));
33
+ nsData.avatar = nsData.name
34
+ ? (yield rpcProvider.getEnsAvatar({
35
+ name: nsData.name,
36
+ }))
37
+ : undefined;
38
+ }
39
+ return nsData;
40
+ });
41
+
42
+ export { getNameservice };
@@ -1 +1,2 @@
1
1
  export * from './isEthWalletConnector';
2
+ export * from './getNameservice';
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  const isEthWalletConnector = (connector) => Boolean(connector === null || connector === void 0 ? void 0 : connector.getActiveAccount);
2
3
 
3
4
  export { isEthWalletConnector };
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { logger } from '@dynamic-labs/wallet-connector-core';
2
3
 
3
4
  const parseIntSafe = (value, radix = 10) => {
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { WalletConnect } from './walletConnect.js';
2
3
 
3
4
  const fetchWalletConnectWallets = ({ walletBook, }) => {
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -250,8 +251,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
250
251
  });
251
252
  }
252
253
  getAddress(opts) {
253
- var _a, _b;
254
254
  return _tslib.__awaiter(this, void 0, void 0, function* () {
255
+ var _a, _b;
255
256
  const activeAccount = this.getActiveAccount();
256
257
  if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
257
258
  return activeAccount.address;
@@ -413,8 +414,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
413
414
  this.session = session;
414
415
  }
415
416
  endSession() {
416
- var _a;
417
417
  return _tslib.__awaiter(this, void 0, void 0, function* () {
418
+ var _a;
418
419
  this.clearActiveAccount();
419
420
  this.clearSession();
420
421
  this.hasSwitchedNetwork = false;
@@ -445,11 +446,11 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
445
446
  return _super.getNetwork.call(this);
446
447
  });
447
448
  }
448
- providerSwitchNetwork({ network, }) {
449
+ providerSwitchNetwork(_a) {
449
450
  const _super = Object.create(null, {
450
451
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
451
452
  });
452
- return _tslib.__awaiter(this, void 0, void 0, function* () {
453
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, }) {
453
454
  const supportedNetworks = yield this.getSupportedNetworks();
454
455
  if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
455
456
  const error = new utils.DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
@@ -498,8 +499,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
498
499
  return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
499
500
  }
500
501
  getSupportedNetworks() {
501
- var _a;
502
502
  return _tslib.__awaiter(this, void 0, void 0, function* () {
503
+ var _a;
503
504
  yield this.initProvider();
504
505
  this.refreshSession();
505
506
  if (this.isMetaMask()) {
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  import { __awaiter } from '../../_virtual/_tslib.js';
2
3
  import EthereumProvider from '@walletconnect/ethereum-provider';
3
4
  import EventEmitter from 'eventemitter3';
@@ -241,8 +242,8 @@ class WalletConnect extends EthWalletConnector {
241
242
  });
242
243
  }
243
244
  getAddress(opts) {
244
- var _a, _b;
245
245
  return __awaiter(this, void 0, void 0, function* () {
246
+ var _a, _b;
246
247
  const activeAccount = this.getActiveAccount();
247
248
  if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
248
249
  return activeAccount.address;
@@ -404,8 +405,8 @@ class WalletConnect extends EthWalletConnector {
404
405
  this.session = session;
405
406
  }
406
407
  endSession() {
407
- var _a;
408
408
  return __awaiter(this, void 0, void 0, function* () {
409
+ var _a;
409
410
  this.clearActiveAccount();
410
411
  this.clearSession();
411
412
  this.hasSwitchedNetwork = false;
@@ -436,11 +437,11 @@ class WalletConnect extends EthWalletConnector {
436
437
  return _super.getNetwork.call(this);
437
438
  });
438
439
  }
439
- providerSwitchNetwork({ network, }) {
440
+ providerSwitchNetwork(_a) {
440
441
  const _super = Object.create(null, {
441
442
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
442
443
  });
443
- return __awaiter(this, void 0, void 0, function* () {
444
+ return __awaiter(this, arguments, void 0, function* ({ network, }) {
444
445
  const supportedNetworks = yield this.getSupportedNetworks();
445
446
  if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
446
447
  const error = new DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
@@ -489,8 +490,8 @@ class WalletConnect extends EthWalletConnector {
489
490
  return ((_e = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.peer) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) === null || _d === void 0 ? void 0 : _d.toLowerCase().startsWith('metamask')) !== null && _e !== void 0 ? _e : false);
490
491
  }
491
492
  getSupportedNetworks() {
492
- var _a;
493
493
  return __awaiter(this, void 0, void 0, function* () {
494
+ var _a;
494
495
  yield this.initProvider();
495
496
  this.refreshSession();
496
497
  if (this.isMetaMask()) {