@dynamic-labs/ethereum 2.1.0-alpha.0 → 2.1.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/_virtual/_tslib.cjs +1 -0
  3. package/_virtual/_tslib.js +1 -0
  4. package/package.json +10 -9
  5. package/src/EthWalletConnector.cjs +16 -26
  6. package/src/EthWalletConnector.d.ts +2785 -5
  7. package/src/EthWalletConnector.js +16 -26
  8. package/src/coinbase/coinbase.cjs +39 -72
  9. package/src/coinbase/coinbase.d.ts +2806 -291
  10. package/src/coinbase/coinbase.js +40 -73
  11. package/src/coinbase/helpers.cjs +29 -0
  12. package/src/coinbase/helpers.d.ts +3 -0
  13. package/src/coinbase/helpers.js +25 -0
  14. package/src/coinbase/types.d.ts +19 -0
  15. package/src/constants.cjs +1 -0
  16. package/src/constants.js +1 -0
  17. package/src/eip6963Provider.cjs +1 -0
  18. package/src/eip6963Provider.js +1 -0
  19. package/src/ethProviderHelper.cjs +1 -0
  20. package/src/ethProviderHelper.js +1 -0
  21. package/src/index.cjs +3 -0
  22. package/src/index.js +2 -0
  23. package/src/injected/ExodusEvm.cjs +1 -0
  24. package/src/injected/ExodusEvm.js +1 -0
  25. package/src/injected/InjectedWalletBase.cjs +5 -4
  26. package/src/injected/InjectedWalletBase.js +5 -4
  27. package/src/injected/PhantomEvm.cjs +1 -0
  28. package/src/injected/PhantomEvm.js +1 -0
  29. package/src/injected/Zerion.cjs +1 -0
  30. package/src/injected/Zerion.js +1 -0
  31. package/src/injected/fetchInjectedWalletConnectors.cjs +2 -1
  32. package/src/injected/fetchInjectedWalletConnectors.js +2 -1
  33. package/src/polyfills.cjs +1 -0
  34. package/src/polyfills.js +1 -0
  35. package/src/types.d.ts +1 -0
  36. package/src/utils/findEvmNetwork.cjs +1 -0
  37. package/src/utils/findEvmNetwork.d.ts +2 -2
  38. package/src/utils/findEvmNetwork.js +1 -0
  39. package/src/utils/getNameservice.cjs +46 -0
  40. package/src/utils/getNameservice.d.ts +6 -0
  41. package/src/utils/getNameservice.js +42 -0
  42. package/src/utils/index.d.ts +1 -0
  43. package/src/utils/isEthWalletConnector/isEthWalletConnector.cjs +1 -0
  44. package/src/utils/isEthWalletConnector/isEthWalletConnector.js +1 -0
  45. package/src/utils/parseIntSafe.cjs +1 -0
  46. package/src/utils/parseIntSafe.js +1 -0
  47. package/src/walletConnect/fetchWalletConnectWallets.cjs +1 -0
  48. package/src/walletConnect/fetchWalletConnectWallets.js +1 -0
  49. package/src/walletConnect/walletConnect.cjs +6 -5
  50. package/src/walletConnect/walletConnect.d.ts +6883 -17
  51. package/src/walletConnect/walletConnect.js +6 -5
  52. package/src/coinbase/client/client.cjs +0 -72
  53. package/src/coinbase/client/client.d.ts +0 -7
  54. package/src/coinbase/client/client.js +0 -65
  55. package/src/coinbase/client/index.d.ts +0 -2
  56. package/src/coinbase/client/types.d.ts +0 -17
@@ -1,10 +1,9 @@
1
+ 'use client'
1
2
  import { __rest, __awaiter } from '../../_virtual/_tslib.js';
2
- import { createWalletClient, custom } from 'viem';
3
- import { findWalletBookWallet } from '@dynamic-labs/wallet-book';
3
+ import { toHex, toBytes, createWalletClient, custom } from 'viem';
4
4
  import { eventListenerHandlers } from '@dynamic-labs/wallet-connector-core';
5
- import { EthProviderHelper } from '../ethProviderHelper.js';
6
5
  import { EthWalletConnector } from '../EthWalletConnector.js';
7
- import { getCoinbaseClient, getAddress, signMessage, killCoinbaseSession } from './client/client.js';
6
+ import { getCoinbaseProvider } from './helpers.js';
8
7
 
9
8
  class Coinbase extends EthWalletConnector {
10
9
  constructor(_a) {
@@ -14,89 +13,57 @@ class Coinbase extends EthWalletConnector {
14
13
  this.overrideKey = 'coinbase';
15
14
  this.supportedChains = ['EVM', 'ETH'];
16
15
  this.connectedChain = 'EVM';
17
- this.canConnectViaQrCode = true;
18
- this.coinbaseProviderOpts = {
19
- appLogoUrl: appLogoUrl,
20
- appName: appName,
21
- evmNetworks: evmNetworks,
22
- };
23
- const wallet = findWalletBookWallet(this.walletBook, this.key);
24
- if (!wallet)
25
- return;
26
- this.ethProviderHelper = new EthProviderHelper(wallet, this);
27
- }
28
- setupEventListeners() {
29
- var _a, _b, _c;
30
- if (!this.isInstalledOnBrowser()) {
31
- this.setupCoinbaseProviderEventListeners();
32
- return;
33
- }
34
- const provider = (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider();
35
- if (!provider) {
36
- return;
37
- }
38
- const setupResponse = (_c = (_b = this.ethProviderHelper) === null || _b === void 0 ? void 0 : _b._setupEventListeners) === null || _c === void 0 ? void 0 : _c.call(_b, this);
39
- if (!(setupResponse === null || setupResponse === void 0 ? void 0 : setupResponse.tearDownEventListeners))
40
- return;
41
- this.teardownEventListeners = setupResponse.tearDownEventListeners;
42
- }
43
- getWalletClient(chainId) {
44
- var _a;
45
- if (this.isInstalledOnBrowser()) {
46
- return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findWalletClient(chainId);
47
- }
48
- return createWalletClient({
49
- transport: custom(getCoinbaseClient({
50
- opts: this.coinbaseProviderOpts,
51
- }).provider),
16
+ this.canConnectViaQrCode = false;
17
+ this.canConnectViaCustodialService = true;
18
+ this.coinbaseProvider = getCoinbaseProvider({
19
+ opts: {
20
+ appLogoUrl: appLogoUrl,
21
+ appName: appName,
22
+ evmNetworks: evmNetworks,
23
+ },
52
24
  });
53
25
  }
54
- isInstalledOnBrowser() {
55
- var _a;
56
- return ((_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.findProvider()) !== undefined;
57
- }
58
- getAddress(opts) {
59
- var _a;
26
+ getAddress() {
60
27
  return __awaiter(this, void 0, void 0, function* () {
61
- if (this.isInstalledOnBrowser()) {
62
- return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.getAddress();
63
- }
64
- return getAddress(this.coinbaseProviderOpts, opts);
28
+ const [address] = yield this.coinbaseProvider.request({
29
+ method: 'eth_requestAccounts',
30
+ });
31
+ return address;
65
32
  });
66
33
  }
67
34
  signMessage(messageToSign) {
68
- var _a;
69
35
  return __awaiter(this, void 0, void 0, function* () {
70
- if (this.isInstalledOnBrowser()) {
71
- return (_a = this.ethProviderHelper) === null || _a === void 0 ? void 0 : _a.signMessage(messageToSign);
36
+ const [address] = yield this.coinbaseProvider.request({
37
+ method: 'eth_requestAccounts',
38
+ });
39
+ try {
40
+ return yield this.coinbaseProvider.request({
41
+ method: 'personal_sign',
42
+ params: [toHex(toBytes(messageToSign)), address.toLowerCase()],
43
+ });
44
+ }
45
+ catch (err) {
46
+ return undefined;
72
47
  }
73
- return signMessage(this.coinbaseProviderOpts, messageToSign);
74
- });
75
- }
76
- endSession() {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- if (this.isInstalledOnBrowser())
79
- return;
80
- killCoinbaseSession();
81
48
  });
82
49
  }
83
- setupCoinbaseProviderEventListeners() {
84
- const { provider } = getCoinbaseClient({
85
- opts: this.coinbaseProviderOpts,
86
- });
87
- if (!provider) {
88
- return;
89
- }
50
+ setupEventListeners() {
90
51
  const { handleAccountChange, handleChainChange, handleDisconnect } = eventListenerHandlers(this);
91
- provider.on('accountsChanged', handleAccountChange);
92
- provider.on('chainChanged', handleChainChange);
93
- provider.on('disconnect', handleDisconnect);
52
+ this.coinbaseProvider.on('accountsChanged', handleAccountChange);
53
+ this.coinbaseProvider.on('chainChanged', handleChainChange);
54
+ this.coinbaseProvider.on('disconnect', handleDisconnect);
94
55
  this.teardownEventListeners = () => {
95
- provider.removeListener('accountsChanged', handleAccountChange);
96
- provider.removeListener('chainChanged', handleChainChange);
97
- provider.removeListener('disconnect', handleDisconnect);
56
+ this.coinbaseProvider.removeListener('accountsChanged', handleAccountChange);
57
+ this.coinbaseProvider.removeListener('chainChanged', handleChainChange);
58
+ this.coinbaseProvider.removeListener('disconnect', handleDisconnect);
98
59
  };
99
60
  }
61
+ getWalletClient() {
62
+ return createWalletClient({
63
+ // add account and chain
64
+ transport: custom(this.coinbaseProvider),
65
+ });
66
+ }
100
67
  }
101
68
 
102
69
  export { Coinbase };
@@ -0,0 +1,29 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var walletSdk = require('@coinbase/wallet-sdk');
7
+
8
+ // storing a reference to the coinbase provider because the provider methods work better when
9
+ // they are called on the same instance
10
+ let coinbaseProvider;
11
+ const getCoinbaseProvider = ({ opts: { appLogoUrl, appName } = {}, }) => {
12
+ if (!coinbaseProvider) {
13
+ const coinbaseSdk = new walletSdk.CoinbaseWalletSDK({
14
+ appChainIds: [
15
+ // hard code to work on base sepolia for now
16
+ 84532,
17
+ // ...evmNetworks?.map((network) => Number(network.chainId)),
18
+ ],
19
+ appLogoUrl,
20
+ appName,
21
+ });
22
+ coinbaseProvider = coinbaseSdk.makeWeb3Provider({
23
+ options: 'all',
24
+ });
25
+ }
26
+ return coinbaseProvider;
27
+ };
28
+
29
+ exports.getCoinbaseProvider = getCoinbaseProvider;
@@ -0,0 +1,3 @@
1
+ import { type GetCoinbaseProvider } from './types';
2
+ export declare const getCoinbaseProvider: GetCoinbaseProvider;
3
+ export declare const resetCoinbaseProvider: () => void;
@@ -0,0 +1,25 @@
1
+ 'use client'
2
+ import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
3
+
4
+ // storing a reference to the coinbase provider because the provider methods work better when
5
+ // they are called on the same instance
6
+ let coinbaseProvider;
7
+ const getCoinbaseProvider = ({ opts: { appLogoUrl, appName } = {}, }) => {
8
+ if (!coinbaseProvider) {
9
+ const coinbaseSdk = new CoinbaseWalletSDK({
10
+ appChainIds: [
11
+ // hard code to work on base sepolia for now
12
+ 84532,
13
+ // ...evmNetworks?.map((network) => Number(network.chainId)),
14
+ ],
15
+ appLogoUrl,
16
+ appName,
17
+ });
18
+ coinbaseProvider = coinbaseSdk.makeWeb3Provider({
19
+ options: 'all',
20
+ });
21
+ }
22
+ return coinbaseProvider;
23
+ };
24
+
25
+ export { getCoinbaseProvider };
@@ -0,0 +1,19 @@
1
+ import { type ProviderInterface } from '@coinbase/wallet-sdk';
2
+ import { type GenericNetwork } from '@dynamic-labs/types';
3
+ import { type EthWalletConnectorOpts } from '../EthWalletConnector';
4
+ export type GetCoinbaseProviderOpts = {
5
+ appLogoUrl?: string;
6
+ appName?: string;
7
+ evmNetworks?: GenericNetwork[];
8
+ };
9
+ export type CoinbaseProviderHandlerOpts = {
10
+ onDisconnect(): Promise<void>;
11
+ };
12
+ export type GetCoinbaseProvider = (args: {
13
+ handlers?: CoinbaseProviderHandlerOpts;
14
+ opts?: GetCoinbaseProviderOpts;
15
+ }) => ProviderInterface;
16
+ export type CoinbaseOpts = EthWalletConnectorOpts & {
17
+ appLogoUrl?: string;
18
+ appName?: string;
19
+ };
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, }) => {