@dynamic-labs/ethereum 2.0.0 → 2.0.1

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,18 @@
1
1
 
2
+ ### [2.0.1](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0...v2.0.1) (2024-04-18)
3
+
4
+
5
+ ### Features
6
+
7
+ * add redirectUri to farcaster connect ([#5373](https://github.com/dynamic-labs/DynamicAuth/issues/5373)) ([#5383](https://github.com/dynamic-labs/DynamicAuth/issues/5383)) ([d031d7e](https://github.com/dynamic-labs/DynamicAuth/commit/d031d7ee5705de5ec83ef328f03633d5f3524786))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * copy and ui fixes ([#5367](https://github.com/dynamic-labs/DynamicAuth/issues/5367)) ([e39ea97](https://github.com/dynamic-labs/DynamicAuth/commit/e39ea97d98de6b7087c24f2326a5fdc07ab9c8c3))
13
+ * bitcoin connector improvements
14
+ * solana package improvements ([#5360](https://github.com/dynamic-labs/DynamicAuth/issues/5360)) ([#5385](https://github.com/dynamic-labs/DynamicAuth/issues/5385)) ([9010bce](https://github.com/dynamic-labs/DynamicAuth/commit/9010bcebb4b0f2d293d517347187d38accbac0d3))
15
+
2
16
  ## [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)
3
17
 
4
18
  ## [2.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.30...v2.0.0-alpha.31) (2024-04-11)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/ethereum",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
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.418",
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.0.0",
34
- "@dynamic-labs/turnkey": "2.0.0",
35
- "@dynamic-labs/types": "2.0.0",
36
- "@dynamic-labs/utils": "2.0.0",
37
- "@dynamic-labs/viem-utils": "2.0.0",
38
- "@dynamic-labs/wallet-book": "2.0.0",
39
- "@dynamic-labs/wallet-connector-core": "2.0.0",
34
+ "@dynamic-labs/rpc-provider-ethereum": "2.0.1",
35
+ "@dynamic-labs/turnkey": "2.0.1",
36
+ "@dynamic-labs/types": "2.0.1",
37
+ "@dynamic-labs/utils": "2.0.1",
38
+ "@dynamic-labs/viem-utils": "2.0.1",
39
+ "@dynamic-labs/wallet-book": "2.0.1",
40
+ "@dynamic-labs/wallet-connector-core": "2.0.1",
40
41
  "stream": "0.0.2"
41
42
  },
42
43
  "peerDependencies": {
@@ -8,11 +8,12 @@ var accounts = require('viem/accounts');
8
8
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
9
  var utils = require('@dynamic-labs/utils');
10
10
  var findEvmNetwork = require('./utils/findEvmNetwork.cjs');
11
+ var getNameservice = require('./utils/getNameservice.cjs');
11
12
 
12
13
  class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
13
14
  getPublicClient() {
14
- var _a, _b, _c;
15
15
  return _tslib.__awaiter(this, void 0, void 0, function* () {
16
+ var _a, _b, _c;
16
17
  const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
17
18
  if (this.evmNetworks.length === 0) {
18
19
  return undefined;
@@ -67,19 +68,7 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
67
68
  if (!address || !rpcProvider) {
68
69
  return;
69
70
  }
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;
71
+ return getNameservice.getNameservice({ address, rpcProvider });
83
72
  });
84
73
  }
85
74
  getSigner() {
@@ -106,8 +95,8 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
106
95
  supportsNetworkSwitching() {
107
96
  return true;
108
97
  }
109
- switchNetwork({ networkName, networkChainId, }) {
110
- return _tslib.__awaiter(this, void 0, void 0, function* () {
98
+ switchNetwork(_a) {
99
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
111
100
  const network = findEvmNetwork.findEvmNetwork({
112
101
  chainId: networkChainId,
113
102
  name: networkName,
@@ -141,9 +130,9 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
141
130
  return addresses;
142
131
  });
143
132
  }
144
- providerSwitchNetwork({ network, provider, }) {
145
- var _a, _b, _c, _d;
146
- return _tslib.__awaiter(this, void 0, void 0, function* () {
133
+ providerSwitchNetwork(_a) {
134
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
135
+ var _b, _c, _d, _e;
147
136
  const { chainId } = network;
148
137
  const currentNetworkId = yield this.getNetwork();
149
138
  if (currentNetworkId && currentNetworkId === chainId) {
@@ -158,14 +147,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
158
147
  catch (error) {
159
148
  // we need to check for unrecognized chain error first because it also contains 'rejected' in message
160
149
  if (error.code === 4902 ||
161
- ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Unrecognized chain')) ||
150
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
162
151
  // 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) {
152
+ ((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
164
153
  // error code indicates the chain has not been added yet
165
154
  // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
166
155
  return this.providerAddNetwork({ network, provider });
167
156
  }
168
- else if (((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('rejected')) ||
157
+ else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
169
158
  (typeof error === 'string' && error.includes('rejected'))) {
170
159
  throw new utils.DynamicError("User rejected the wallet's request to switch network");
171
160
  }
@@ -175,14 +164,14 @@ class EthWalletConnector extends walletConnectorCore.WalletConnectorBase {
175
164
  }
176
165
  });
177
166
  }
178
- providerAddNetwork({ network, provider, }) {
179
- var _a;
180
- return _tslib.__awaiter(this, void 0, void 0, function* () {
167
+ providerAddNetwork(_a) {
168
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
169
+ var _b;
181
170
  try {
182
171
  return yield provider.addChain({ chain: utils.getOrMapViemChain(network) });
183
172
  }
184
173
  catch (error) {
185
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
174
+ if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
186
175
  (typeof error === 'string' && error.includes('rejected'))) {
187
176
  throw new utils.DynamicError("User rejected the wallet's request to add network");
188
177
  }
@@ -4,11 +4,12 @@ import { toAccount } from 'viem/accounts';
4
4
  import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
5
5
  import { parseEvmNetworks, retryableFn, FALLBACK_UNDEFINED, DynamicError, getOrMapViemChain } from '@dynamic-labs/utils';
6
6
  import { findEvmNetwork } from './utils/findEvmNetwork.js';
7
+ import { getNameservice } from './utils/getNameservice.js';
7
8
 
8
9
  class EthWalletConnector extends WalletConnectorBase {
9
10
  getPublicClient() {
10
- var _a, _b, _c;
11
11
  return __awaiter(this, void 0, void 0, function* () {
12
+ var _a, _b, _c;
12
13
  const networkId = (_a = (yield this.getNetwork())) !== null && _a !== void 0 ? _a : 1;
13
14
  if (this.evmNetworks.length === 0) {
14
15
  return undefined;
@@ -63,19 +64,7 @@ class EthWalletConnector extends WalletConnectorBase {
63
64
  if (!address || !rpcProvider) {
64
65
  return;
65
66
  }
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;
67
+ return getNameservice({ address, rpcProvider });
79
68
  });
80
69
  }
81
70
  getSigner() {
@@ -102,8 +91,8 @@ class EthWalletConnector extends WalletConnectorBase {
102
91
  supportsNetworkSwitching() {
103
92
  return true;
104
93
  }
105
- switchNetwork({ networkName, networkChainId, }) {
106
- return __awaiter(this, void 0, void 0, function* () {
94
+ switchNetwork(_a) {
95
+ return __awaiter(this, arguments, void 0, function* ({ networkName, networkChainId, }) {
107
96
  const network = findEvmNetwork({
108
97
  chainId: networkChainId,
109
98
  name: networkName,
@@ -137,9 +126,9 @@ class EthWalletConnector extends WalletConnectorBase {
137
126
  return addresses;
138
127
  });
139
128
  }
140
- providerSwitchNetwork({ network, provider, }) {
141
- var _a, _b, _c, _d;
142
- return __awaiter(this, void 0, void 0, function* () {
129
+ providerSwitchNetwork(_a) {
130
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
131
+ var _b, _c, _d, _e;
143
132
  const { chainId } = network;
144
133
  const currentNetworkId = yield this.getNetwork();
145
134
  if (currentNetworkId && currentNetworkId === chainId) {
@@ -154,14 +143,14 @@ class EthWalletConnector extends WalletConnectorBase {
154
143
  catch (error) {
155
144
  // we need to check for unrecognized chain error first because it also contains 'rejected' in message
156
145
  if (error.code === 4902 ||
157
- ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Unrecognized chain')) ||
146
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Unrecognized chain')) ||
158
147
  // 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) {
148
+ ((_d = (_c = error.data) === null || _c === void 0 ? void 0 : _c.orginalError) === null || _d === void 0 ? void 0 : _d.code) === 4902) {
160
149
  // error code indicates the chain has not been added yet
161
150
  // https://docs.metamask.io/guide/rpc-api.html#usage-with-wallet-switchethereumchain
162
151
  return this.providerAddNetwork({ network, provider });
163
152
  }
164
- else if (((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('rejected')) ||
153
+ else if (((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('rejected')) ||
165
154
  (typeof error === 'string' && error.includes('rejected'))) {
166
155
  throw new DynamicError("User rejected the wallet's request to switch network");
167
156
  }
@@ -171,14 +160,14 @@ class EthWalletConnector extends WalletConnectorBase {
171
160
  }
172
161
  });
173
162
  }
174
- providerAddNetwork({ network, provider, }) {
175
- var _a;
176
- return __awaiter(this, void 0, void 0, function* () {
163
+ providerAddNetwork(_a) {
164
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
165
+ var _b;
177
166
  try {
178
167
  return yield provider.addChain({ chain: getOrMapViemChain(network) });
179
168
  }
180
169
  catch (error) {
181
- if (((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('rejected')) ||
170
+ if (((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('rejected')) ||
182
171
  (typeof error === 'string' && error.includes('rejected'))) {
183
172
  throw new DynamicError("User rejected the wallet's request to add network");
184
173
  }
@@ -60,8 +60,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
60
60
  return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
61
61
  }
62
62
  getAddress(opts) {
63
- var _a;
64
63
  return _tslib.__awaiter(this, void 0, void 0, function* () {
64
+ var _a;
65
65
  if (this.isInstalledOnBrowser()) {
66
66
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
67
67
  }
@@ -69,8 +69,8 @@ class Coinbase extends EthWalletConnector.EthWalletConnector {
69
69
  });
70
70
  }
71
71
  signMessage(messageToSign) {
72
- var _a;
73
72
  return _tslib.__awaiter(this, void 0, void 0, function* () {
73
+ var _a;
74
74
  if (this.isInstalledOnBrowser()) {
75
75
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
76
76
  }
@@ -56,8 +56,8 @@ class Coinbase extends EthWalletConnector {
56
56
  return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
57
57
  }
58
58
  getAddress(opts) {
59
- var _a;
60
59
  return __awaiter(this, void 0, void 0, function* () {
60
+ var _a;
61
61
  if (this.isInstalledOnBrowser()) {
62
62
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
63
63
  }
@@ -65,8 +65,8 @@ class Coinbase extends EthWalletConnector {
65
65
  });
66
66
  }
67
67
  signMessage(messageToSign) {
68
- var _a;
69
68
  return __awaiter(this, void 0, void 0, function* () {
69
+ var _a;
70
70
  if (this.isInstalledOnBrowser()) {
71
71
  return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
72
72
  }
package/src/index.cjs CHANGED
@@ -15,6 +15,7 @@ var EthWalletConnector = require('./EthWalletConnector.cjs');
15
15
  var ethProviderHelper = require('./ethProviderHelper.cjs');
16
16
  var constants = require('./constants.cjs');
17
17
  var isEthWalletConnector = require('./utils/isEthWalletConnector/isEthWalletConnector.cjs');
18
+ var getNameservice = require('./utils/getNameservice.cjs');
18
19
 
19
20
  const EthereumWalletConnectors = (props) => [
20
21
  ...fetchInjectedWalletConnectors.injectedWalletOverrides,
@@ -33,4 +34,5 @@ exports.EthWalletConnector = EthWalletConnector.EthWalletConnector;
33
34
  exports.EthProviderHelper = ethProviderHelper.EthProviderHelper;
34
35
  exports.INFURA_ID = constants.INFURA_ID;
35
36
  exports.isEthWalletConnector = isEthWalletConnector.isEthWalletConnector;
37
+ exports.getNameservice = getNameservice.getNameservice;
36
38
  exports.EthereumWalletConnectors = EthereumWalletConnectors;
package/src/index.js CHANGED
@@ -12,6 +12,7 @@ export { EthWalletConnector } from './EthWalletConnector.js';
12
12
  export { EthProviderHelper } from './ethProviderHelper.js';
13
13
  export { INFURA_ID } from './constants.js';
14
14
  export { isEthWalletConnector } from './utils/isEthWalletConnector/isEthWalletConnector.js';
15
+ export { getNameservice } from './utils/getNameservice.js';
15
16
 
16
17
  const EthereumWalletConnectors = (props) => [
17
18
  ...injectedWalletOverrides,
@@ -69,8 +69,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
69
69
  return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
70
70
  }
71
71
  getAddress() {
72
- var _a;
73
72
  return _tslib.__awaiter(this, void 0, void 0, function* () {
73
+ var _a;
74
74
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
75
75
  });
76
76
  }
@@ -80,8 +80,8 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
80
80
  });
81
81
  }
82
82
  signMessage(messageToSign) {
83
- var _a;
84
83
  return _tslib.__awaiter(this, void 0, void 0, function* () {
84
+ var _a;
85
85
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
86
86
  });
87
87
  }
@@ -96,11 +96,11 @@ class InjectedWalletBase extends EthWalletConnector.EthWalletConnector {
96
96
  return;
97
97
  });
98
98
  }
99
- providerSwitchNetwork({ network, provider, }) {
99
+ providerSwitchNetwork(_a) {
100
100
  const _super = Object.create(null, {
101
101
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
102
102
  });
103
- return _tslib.__awaiter(this, void 0, void 0, function* () {
103
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, provider, }) {
104
104
  return _super.providerSwitchNetwork.call(this, { network, provider });
105
105
  });
106
106
  }
@@ -67,8 +67,8 @@ class InjectedWalletBase extends EthWalletConnector {
67
67
  return ((_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
68
68
  }
69
69
  getAddress() {
70
- var _a;
71
70
  return __awaiter(this, void 0, void 0, function* () {
71
+ var _a;
72
72
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.getAddress();
73
73
  });
74
74
  }
@@ -78,8 +78,8 @@ class InjectedWalletBase extends EthWalletConnector {
78
78
  });
79
79
  }
80
80
  signMessage(messageToSign) {
81
- var _a;
82
81
  return __awaiter(this, void 0, void 0, function* () {
82
+ var _a;
83
83
  return (_a = this.getEthProviderHelper()) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
84
84
  });
85
85
  }
@@ -94,11 +94,11 @@ class InjectedWalletBase extends EthWalletConnector {
94
94
  return;
95
95
  });
96
96
  }
97
- providerSwitchNetwork({ network, provider, }) {
97
+ providerSwitchNetwork(_a) {
98
98
  const _super = Object.create(null, {
99
99
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
100
100
  });
101
- return __awaiter(this, void 0, void 0, function* () {
101
+ return __awaiter(this, arguments, void 0, function* ({ network, provider, }) {
102
102
  return _super.providerSwitchNetwork.call(this, { network, provider });
103
103
  });
104
104
  }
@@ -45,8 +45,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
45
45
  const _super = Object.create(null, {
46
46
  getAddress: { get: () => super.getAddress }
47
47
  });
48
- var _a;
49
48
  return _tslib.__awaiter(this, void 0, void 0, function* () {
49
+ var _a;
50
50
  if (this.isInstalledOnBrowser()) {
51
51
  return _super.getAddress.call(this);
52
52
  }
@@ -41,8 +41,8 @@ const fetchInjectedWalletConnector = ({ walletBook, }) => {
41
41
  const _super = Object.create(null, {
42
42
  getAddress: { get: () => super.getAddress }
43
43
  });
44
- var _a;
45
44
  return __awaiter(this, void 0, void 0, function* () {
45
+ var _a;
46
46
  if (this.isInstalledOnBrowser()) {
47
47
  return _super.getAddress.call(this);
48
48
  }
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,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;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../_virtual/_tslib.cjs');
6
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
7
+
8
+ const getNameservice = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
9
+ var _b;
10
+ const nsData = {
11
+ avatar: undefined,
12
+ name: undefined,
13
+ };
14
+ const network = yield rpcProvider.getChainId();
15
+ if (!network) {
16
+ return nsData;
17
+ }
18
+ // Handle Base name service requests
19
+ if (network === 8453) {
20
+ try {
21
+ const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
22
+ if (response.ok) {
23
+ const data = yield response.json();
24
+ nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
25
+ }
26
+ }
27
+ catch (e) {
28
+ walletConnectorCore.logger.debug('Failed to fetch ens data', e);
29
+ }
30
+ return nsData;
31
+ }
32
+ else {
33
+ nsData.name = (yield rpcProvider.getEnsName({
34
+ address: address,
35
+ }));
36
+ nsData.avatar = nsData.name
37
+ ? (yield rpcProvider.getEnsAvatar({
38
+ name: nsData.name,
39
+ }))
40
+ : undefined;
41
+ }
42
+ return nsData;
43
+ });
44
+
45
+ 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,41 @@
1
+ import { __awaiter } from '../../_virtual/_tslib.js';
2
+ import { logger } from '@dynamic-labs/wallet-connector-core';
3
+
4
+ const getNameservice = (_a) => __awaiter(void 0, [_a], void 0, function* ({ rpcProvider, address, }) {
5
+ var _b;
6
+ const nsData = {
7
+ avatar: undefined,
8
+ name: undefined,
9
+ };
10
+ const network = yield rpcProvider.getChainId();
11
+ if (!network) {
12
+ return nsData;
13
+ }
14
+ // Handle Base name service requests
15
+ if (network === 8453) {
16
+ try {
17
+ const response = yield fetch(`https://resolver-api.basename.app/v1/addresses/${address}`);
18
+ if (response.ok) {
19
+ const data = yield response.json();
20
+ nsData.name = (_b = data.name) !== null && _b !== void 0 ? _b : undefined;
21
+ }
22
+ }
23
+ catch (e) {
24
+ logger.debug('Failed to fetch ens data', e);
25
+ }
26
+ return nsData;
27
+ }
28
+ else {
29
+ nsData.name = (yield rpcProvider.getEnsName({
30
+ address: address,
31
+ }));
32
+ nsData.avatar = nsData.name
33
+ ? (yield rpcProvider.getEnsAvatar({
34
+ name: nsData.name,
35
+ }))
36
+ : undefined;
37
+ }
38
+ return nsData;
39
+ });
40
+
41
+ export { getNameservice };
@@ -1 +1,2 @@
1
1
  export * from './isEthWalletConnector';
2
+ export * from './getNameservice';
@@ -250,8 +250,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
250
250
  });
251
251
  }
252
252
  getAddress(opts) {
253
- var _a, _b;
254
253
  return _tslib.__awaiter(this, void 0, void 0, function* () {
254
+ var _a, _b;
255
255
  const activeAccount = this.getActiveAccount();
256
256
  if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
257
257
  return activeAccount.address;
@@ -413,8 +413,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
413
413
  this.session = session;
414
414
  }
415
415
  endSession() {
416
- var _a;
417
416
  return _tslib.__awaiter(this, void 0, void 0, function* () {
417
+ var _a;
418
418
  this.clearActiveAccount();
419
419
  this.clearSession();
420
420
  this.hasSwitchedNetwork = false;
@@ -445,11 +445,11 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
445
445
  return _super.getNetwork.call(this);
446
446
  });
447
447
  }
448
- providerSwitchNetwork({ network, }) {
448
+ providerSwitchNetwork(_a) {
449
449
  const _super = Object.create(null, {
450
450
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
451
451
  });
452
- return _tslib.__awaiter(this, void 0, void 0, function* () {
452
+ return _tslib.__awaiter(this, arguments, void 0, function* ({ network, }) {
453
453
  const supportedNetworks = yield this.getSupportedNetworks();
454
454
  if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
455
455
  const error = new utils.DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
@@ -498,8 +498,8 @@ class WalletConnect extends EthWalletConnector.EthWalletConnector {
498
498
  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
499
  }
500
500
  getSupportedNetworks() {
501
- var _a;
502
501
  return _tslib.__awaiter(this, void 0, void 0, function* () {
502
+ var _a;
503
503
  yield this.initProvider();
504
504
  this.refreshSession();
505
505
  if (this.isMetaMask()) {
@@ -241,8 +241,8 @@ class WalletConnect extends EthWalletConnector {
241
241
  });
242
242
  }
243
243
  getAddress(opts) {
244
- var _a, _b;
245
244
  return __awaiter(this, void 0, void 0, function* () {
245
+ var _a, _b;
246
246
  const activeAccount = this.getActiveAccount();
247
247
  if (activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.address) {
248
248
  return activeAccount.address;
@@ -404,8 +404,8 @@ class WalletConnect extends EthWalletConnector {
404
404
  this.session = session;
405
405
  }
406
406
  endSession() {
407
- var _a;
408
407
  return __awaiter(this, void 0, void 0, function* () {
408
+ var _a;
409
409
  this.clearActiveAccount();
410
410
  this.clearSession();
411
411
  this.hasSwitchedNetwork = false;
@@ -436,11 +436,11 @@ class WalletConnect extends EthWalletConnector {
436
436
  return _super.getNetwork.call(this);
437
437
  });
438
438
  }
439
- providerSwitchNetwork({ network, }) {
439
+ providerSwitchNetwork(_a) {
440
440
  const _super = Object.create(null, {
441
441
  providerSwitchNetwork: { get: () => super.providerSwitchNetwork }
442
442
  });
443
- return __awaiter(this, void 0, void 0, function* () {
443
+ return __awaiter(this, arguments, void 0, function* ({ network, }) {
444
444
  const supportedNetworks = yield this.getSupportedNetworks();
445
445
  if (!(supportedNetworks === null || supportedNetworks === void 0 ? void 0 : supportedNetworks.includes(network.chainId.toString()))) {
446
446
  const error = new DynamicError('Network switching is not available at this time. The user should manually switch network in their wallet');
@@ -489,8 +489,8 @@ class WalletConnect extends EthWalletConnector {
489
489
  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
490
  }
491
491
  getSupportedNetworks() {
492
- var _a;
493
492
  return __awaiter(this, void 0, void 0, function* () {
493
+ var _a;
494
494
  yield this.initProvider();
495
495
  this.refreshSession();
496
496
  if (this.isMetaMask()) {