@dynamic-labs/multi-wallet 0.16.17-viem.0 → 0.16.17

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 (52) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/package.json +5 -5
  3. package/src/multi-wallet.cjs +7 -12
  4. package/src/multi-wallet.js +8 -13
  5. package/src/rpcProviders.cjs +2 -6
  6. package/src/rpcProviders.js +2 -6
  7. package/src/types.d.ts +8 -16
  8. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +54 -0
  9. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +3 -0
  10. package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +50 -0
  11. package/src/utils/assignConfirmationScreenToProvider/index.d.ts +1 -0
  12. package/src/utils/isFunction/isFunction.cjs +8 -0
  13. package/src/utils/isFunction/isFunction.js +4 -0
  14. package/src/utils/message.cjs +2 -2
  15. package/src/utils/message.js +1 -1
  16. package/src/wallets/algorand/myalgo.d.ts +2 -1
  17. package/src/wallets/clients/coinbase/coinbase.cjs +2 -2
  18. package/src/wallets/clients/coinbase/coinbase.js +2 -2
  19. package/src/wallets/clients/walletConnect/walletConnect.cjs +5 -9
  20. package/src/wallets/clients/walletConnect/walletConnect.d.ts +2 -2
  21. package/src/wallets/clients/walletConnect/walletConnect.js +5 -9
  22. package/src/wallets/ethereum/BloctoEvm.cjs +140 -0
  23. package/src/wallets/ethereum/BloctoEvm.d.ts +2 -4
  24. package/src/wallets/ethereum/BloctoEvm.js +134 -0
  25. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +14 -35
  26. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +4 -4
  27. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +14 -35
  28. package/src/wallets/ethereum/coinbase.cjs +7 -18
  29. package/src/wallets/ethereum/coinbase.d.ts +2 -4
  30. package/src/wallets/ethereum/coinbase.js +7 -18
  31. package/src/wallets/ethereum/ethProvider.cjs +29 -13
  32. package/src/wallets/ethereum/ethProvider.d.ts +7 -7
  33. package/src/wallets/ethereum/ethProvider.js +29 -13
  34. package/src/wallets/ethereum/ethProviderHelper.cjs +34 -52
  35. package/src/wallets/ethereum/ethProviderHelper.d.ts +20 -20
  36. package/src/wallets/ethereum/ethProviderHelper.js +34 -52
  37. package/src/wallets/ethereum/fortmatic.cjs +7 -15
  38. package/src/wallets/ethereum/fortmatic.d.ts +3 -5
  39. package/src/wallets/ethereum/fortmatic.js +7 -15
  40. package/src/wallets/ethereum/meta-mask.cjs +2 -13
  41. package/src/wallets/ethereum/meta-mask.d.ts +3 -5
  42. package/src/wallets/ethereum/meta-mask.js +2 -13
  43. package/src/wallets/walletConnect/walletConnect.cjs +6 -8
  44. package/src/wallets/walletConnect/walletConnect.d.ts +4 -4
  45. package/src/wallets/walletConnect/walletConnect.js +6 -8
  46. package/src/wallets/walletConnect/walletConnectV2.cjs +7 -11
  47. package/src/wallets/walletConnect/walletConnectV2.d.ts +4 -4
  48. package/src/wallets/walletConnect/walletConnectV2.js +7 -11
  49. package/src/wallets/window.d.ts +1 -3
  50. package/src/getOrMapViemChain.cjs +0 -77
  51. package/src/getOrMapViemChain.d.ts +0 -11
  52. package/src/getOrMapViemChain.js +0 -51
@@ -1,4 +1,4 @@
1
- import { WalletClient } from 'viem';
1
+ import { ethers } from 'ethers';
2
2
  import { Chain, WalletConnector } from '@dynamic-labs/wallet-connector-core';
3
3
  import { EthProviderHelper } from './ethProviderHelper';
4
4
  import { EthProvider } from './ethProvider';
@@ -17,16 +17,14 @@ declare class Fortmatic extends EthProvider implements WalletConnector {
17
17
  apiKey: string;
18
18
  evmNetworks: EvmNetwork[];
19
19
  });
20
- providerResources: string[] | undefined;
21
- switchNetworkOnlyFromWallet: boolean | undefined;
22
20
  get key(): string;
23
21
  setupEventListeners(): void;
24
22
  teardownEventListeners(): void;
25
23
  getFortmaticProvider(): import("fortmatic/dist/cjs/src/core/fm-provider").FmProvider;
26
- getWeb3Provider(): WalletClient;
24
+ getWeb3Provider(): ethers.providers.Web3Provider;
27
25
  isInstalledOnBrowser(): boolean;
28
26
  connect(): Promise<void>;
29
- fetchPublicAddress(): Promise<`0x${string}` | undefined>;
27
+ fetchPublicAddress(): Promise<string | undefined>;
30
28
  signMessage(messageToSign: string): Promise<string | undefined>;
31
29
  proveOwnership(messageToSign: string): Promise<string | undefined>;
32
30
  endSession(): Promise<void>;
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
+ import { ethers } from 'ethers';
2
3
  import FortmaticClient from 'fortmatic';
3
- import { createWalletClient, custom } from 'viem';
4
4
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
5
5
  import { DynamicError } from '../../errors.js';
6
6
  import { logger } from '../../utils/logger.js';
@@ -33,9 +33,8 @@ class Fortmatic extends EthProvider {
33
33
  return fm.getProvider();
34
34
  }
35
35
  getWeb3Provider() {
36
- return createWalletClient({
37
- transport: custom(this.getFortmaticProvider()),
38
- });
36
+ const provider = new ethers.providers.Web3Provider(this.getFortmaticProvider());
37
+ return provider;
39
38
  }
40
39
  isInstalledOnBrowser() {
41
40
  return false;
@@ -63,17 +62,10 @@ class Fortmatic extends EthProvider {
63
62
  }
64
63
  signMessage(messageToSign) {
65
64
  return __awaiter(this, void 0, void 0, function* () {
66
- const signer = yield this.getWeb3Provider();
67
- const account = yield this.fetchPublicAddress();
68
- if (account) {
69
- const signedMessage = yield signer.signMessage({
70
- account,
71
- message: messageToSign,
72
- });
73
- logger.debug('signedMessage:', signedMessage);
74
- return signedMessage;
75
- }
76
- return undefined;
65
+ const signer = this.getWeb3Provider().getSigner();
66
+ const signedMessage = yield signer.signMessage(messageToSign);
67
+ logger.debug('signedMessage:', signedMessage);
68
+ return signedMessage;
77
69
  });
78
70
  }
79
71
  proveOwnership(messageToSign) {
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib = require('tslib');
4
- var viem = require('viem');
5
4
  var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
6
5
  var ethProviderHelper = require('./ethProviderHelper.cjs');
7
6
  var ethProvider = require('./ethProvider.cjs');
@@ -21,23 +20,13 @@ class MetaMask extends ethProvider.EthProvider {
21
20
  return normalizeWalletName.normalizeWalletName(this.name);
22
21
  }
23
22
  setupEventListeners(listeners) {
24
- const provider = this.ethProviderHelper.findProvider(this.name);
25
- if (!provider) {
26
- return () => { };
27
- }
28
- return this.ethProviderHelper._setupEventListeners(listeners, this.name, viem.createPublicClient({ transport: viem.custom(provider) }));
23
+ return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
29
24
  }
30
25
  teardownEventListeners() {
31
26
  return this.ethProviderHelper._teardownEventListeners(this.name);
32
27
  }
33
28
  getWeb3Provider() {
34
- const provider = this.ethProviderHelper.findProvider(this.name);
35
- if (!provider) {
36
- return;
37
- }
38
- return viem.createWalletClient({
39
- transport: viem.custom(provider),
40
- });
29
+ return this.ethProviderHelper.findProvider(this.name);
41
30
  }
42
31
  isInstalledOnBrowser() {
43
32
  return this.ethProviderHelper.isInstalledHelper(this.name);
@@ -1,11 +1,9 @@
1
- import { WalletClient } from 'viem';
1
+ import { ethers } from 'ethers';
2
2
  import { Chain, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
3
  import { EthProviderHelper } from './ethProviderHelper';
4
4
  import { EthProvider } from './ethProvider';
5
5
  import { EvmNetwork } from './evm-network';
6
6
  declare class MetaMask extends EthProvider implements WalletConnector {
7
- providerResources: string[] | undefined;
8
- switchNetworkOnlyFromWallet: boolean | undefined;
9
7
  name: string;
10
8
  supportedChains: Chain[];
11
9
  connectedChain: Chain;
@@ -17,7 +15,7 @@ declare class MetaMask extends EthProvider implements WalletConnector {
17
15
  get key(): string;
18
16
  setupEventListeners(listeners: WalletEventListeners): () => void;
19
17
  teardownEventListeners(): void;
20
- getWeb3Provider(): WalletClient | undefined;
18
+ getWeb3Provider(): ethers.providers.Web3Provider | undefined;
21
19
  isInstalledOnBrowser(): boolean;
22
20
  connect(): Promise<void>;
23
21
  fetchPublicAddress(): Promise<string | undefined>;
@@ -26,7 +24,7 @@ declare class MetaMask extends EthProvider implements WalletConnector {
26
24
  endSession(): Promise<void>;
27
25
  providerSwitchNetwork({ network, provider, }: {
28
26
  network: EvmNetwork;
29
- provider: WalletClient;
27
+ provider: ethers.providers.Web3Provider;
30
28
  }): Promise<void>;
31
29
  }
32
30
  export default MetaMask;
@@ -1,5 +1,4 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { createPublicClient, custom, createWalletClient } from 'viem';
3
2
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
4
3
  import { EthProviderHelper } from './ethProviderHelper.js';
5
4
  import { EthProvider } from './ethProvider.js';
@@ -19,23 +18,13 @@ class MetaMask extends EthProvider {
19
18
  return normalizeWalletName(this.name);
20
19
  }
21
20
  setupEventListeners(listeners) {
22
- const provider = this.ethProviderHelper.findProvider(this.name);
23
- if (!provider) {
24
- return () => { };
25
- }
26
- return this.ethProviderHelper._setupEventListeners(listeners, this.name, createPublicClient({ transport: custom(provider) }));
21
+ return this.ethProviderHelper._setupEventListeners(listeners, this.getWeb3Provider());
27
22
  }
28
23
  teardownEventListeners() {
29
24
  return this.ethProviderHelper._teardownEventListeners(this.name);
30
25
  }
31
26
  getWeb3Provider() {
32
- const provider = this.ethProviderHelper.findProvider(this.name);
33
- if (!provider) {
34
- return;
35
- }
36
- return createWalletClient({
37
- transport: custom(provider),
38
- });
27
+ return this.ethProviderHelper.findProvider(this.name);
39
28
  }
40
29
  isInstalledOnBrowser() {
41
30
  return this.ethProviderHelper.isInstalledHelper(this.name);
@@ -2,7 +2,7 @@
2
2
 
3
3
  var tslib = require('tslib');
4
4
  var WalletConnectProvider = require('@walletconnect/ethereum-provider');
5
- var viem = require('viem');
5
+ var ethers = require('ethers');
6
6
  var walletBook = require('@dynamic-labs/wallet-book');
7
7
  var constants = require('../constants.cjs');
8
8
  var ethProvider = require('../ethereum/ethProvider.cjs');
@@ -58,13 +58,11 @@ class WalletConnect extends ethProvider.EthProvider {
58
58
  getWeb3Provider() {
59
59
  const client = this.getClient();
60
60
  return client
61
- ? viem.createWalletClient({
62
- transport: viem.custom(new WalletConnectProvider__default["default"]({
63
- connector: client,
64
- infuraId: constants.infuraId,
65
- rpc: this.evmNetworkRpcMap(),
66
- })),
67
- })
61
+ ? new ethers.ethers.providers.Web3Provider(new WalletConnectProvider__default["default"]({
62
+ connector: client,
63
+ infuraId: constants.infuraId,
64
+ rpc: this.evmNetworkRpcMap(),
65
+ }), 'any')
68
66
  : undefined;
69
67
  }
70
68
  isInstalledOnBrowser() {
@@ -1,5 +1,5 @@
1
1
  import Client from '@walletconnect/client';
2
- import { WalletClient } from 'viem';
2
+ import { ethers } from 'ethers';
3
3
  import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
4
  import { EthProvider } from '../ethereum/ethProvider';
5
5
  import { EvmNetwork } from '../ethereum/evm-network';
@@ -22,7 +22,7 @@ declare class WalletConnect extends EthProvider implements WalletConnector {
22
22
  supportsNetworkSwitching(): boolean;
23
23
  setupEventListeners(listeners: WalletEventListeners): () => void;
24
24
  teardownEventListeners(): void;
25
- getWeb3Provider(): WalletClient | undefined;
25
+ getWeb3Provider(): ethers.providers.Web3Provider | undefined;
26
26
  isInstalledOnBrowser(): boolean;
27
27
  connect(): Promise<void>;
28
28
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -32,8 +32,8 @@ declare class WalletConnect extends EthProvider implements WalletConnector {
32
32
  endSession(): Promise<void>;
33
33
  providerSwitchNetwork({ network, provider, }: {
34
34
  network: EvmNetwork;
35
- provider: WalletClient;
35
+ provider: ethers.providers.Web3Provider;
36
36
  }): Promise<void>;
37
- getConnectedAccounts(): Promise<`0x${string}`[]>;
37
+ getConnectedAccounts(): Promise<string[]>;
38
38
  }
39
39
  export default WalletConnect;
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import WalletConnectProvider from '@walletconnect/ethereum-provider';
3
- import { createWalletClient, custom } from 'viem';
3
+ import { ethers } from 'ethers';
4
4
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
5
5
  import { infuraId } from '../constants.js';
6
6
  import { EthProvider } from '../ethereum/ethProvider.js';
@@ -52,13 +52,11 @@ class WalletConnect extends EthProvider {
52
52
  getWeb3Provider() {
53
53
  const client = this.getClient();
54
54
  return client
55
- ? createWalletClient({
56
- transport: custom(new WalletConnectProvider({
57
- connector: client,
58
- infuraId,
59
- rpc: this.evmNetworkRpcMap(),
60
- })),
61
- })
55
+ ? new ethers.providers.Web3Provider(new WalletConnectProvider({
56
+ connector: client,
57
+ infuraId,
58
+ rpc: this.evmNetworkRpcMap(),
59
+ }), 'any')
62
60
  : undefined;
63
61
  }
64
62
  isInstalledOnBrowser() {
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var Provider = require('@walletconnect/universal-provider');
7
- var viem = require('viem');
7
+ var ethers = require('ethers');
8
8
  var walletBook = require('@dynamic-labs/wallet-book');
9
9
  var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
10
10
  var ethProvider = require('../ethereum/ethProvider.cjs');
@@ -141,9 +141,7 @@ class WalletConnectV2 extends ethProvider.EthProvider {
141
141
  if (!provider) {
142
142
  throw new Error('No provider found');
143
143
  }
144
- return viem.createWalletClient({
145
- transport: viem.custom(provider),
146
- });
144
+ return new ethers.ethers.providers.Web3Provider(provider, 'any');
147
145
  }
148
146
  isInstalledOnBrowser() {
149
147
  return false;
@@ -221,10 +219,10 @@ class WalletConnectV2 extends ethProvider.EthProvider {
221
219
  // eslint-disable-next-line prefer-destructuring
222
220
  const address = this.session.namespaces.eip155.accounts[0].split(':')[2];
223
221
  const web3Provider = this.getWeb3Provider();
224
- return web3Provider.signMessage({
225
- account: address,
226
- message: encoding.utf8ToHex(messageToSign, true),
227
- });
222
+ return web3Provider.send('personal_sign', [
223
+ encoding.utf8ToHex(messageToSign, true),
224
+ address,
225
+ ]);
228
226
  });
229
227
  }
230
228
  proveOwnership(messageToSign) {
@@ -275,9 +273,7 @@ class WalletConnectV2 extends ethProvider.EthProvider {
275
273
  if (!this.session) {
276
274
  return [];
277
275
  }
278
- return [
279
- this.session.namespaces.eip155.accounts[0].split(':')[2],
280
- ];
276
+ return [this.session.namespaces.eip155.accounts[0].split(':')[2]];
281
277
  });
282
278
  }
283
279
  }
@@ -1,6 +1,6 @@
1
1
  import Provider, { UniversalProviderOpts } from '@walletconnect/universal-provider';
2
+ import { ethers } from 'ethers';
2
3
  import type { SessionTypes } from '@walletconnect/types';
3
- import { WalletClient } from 'viem';
4
4
  import { WalletConnector, Chain, FetchPublicAddressOpts, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
5
5
  import { EvmNetwork } from '../ethereum/evm-network';
6
6
  import { EthProvider } from '../ethereum/ethProvider';
@@ -24,7 +24,7 @@ declare class WalletConnectV2 extends EthProvider implements WalletConnector {
24
24
  setupEventListeners(listeners: WalletEventListeners): void;
25
25
  teardownEventListeners(): void;
26
26
  getDeepLink(): string | undefined;
27
- getWeb3Provider(): WalletClient;
27
+ getWeb3Provider(): ethers.providers.Web3Provider;
28
28
  isInstalledOnBrowser(): boolean;
29
29
  connect(): Promise<void>;
30
30
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
@@ -33,8 +33,8 @@ declare class WalletConnectV2 extends EthProvider implements WalletConnector {
33
33
  endSession(): Promise<void>;
34
34
  providerSwitchNetwork({ network, provider, }: {
35
35
  network: EvmNetwork;
36
- provider: WalletClient;
36
+ provider: ethers.providers.Web3Provider;
37
37
  }): Promise<void>;
38
- getConnectedAccounts(): Promise<`0x${string}`[]>;
38
+ getConnectedAccounts(): Promise<string[]>;
39
39
  }
40
40
  export default WalletConnectV2;
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import Provider from '@walletconnect/universal-provider';
3
- import { createWalletClient, custom } from 'viem';
3
+ import { ethers } from 'ethers';
4
4
  import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
5
5
  import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
6
6
  import { EthProvider } from '../ethereum/ethProvider.js';
@@ -133,9 +133,7 @@ class WalletConnectV2 extends EthProvider {
133
133
  if (!provider) {
134
134
  throw new Error('No provider found');
135
135
  }
136
- return createWalletClient({
137
- transport: custom(provider),
138
- });
136
+ return new ethers.providers.Web3Provider(provider, 'any');
139
137
  }
140
138
  isInstalledOnBrowser() {
141
139
  return false;
@@ -213,10 +211,10 @@ class WalletConnectV2 extends EthProvider {
213
211
  // eslint-disable-next-line prefer-destructuring
214
212
  const address = this.session.namespaces.eip155.accounts[0].split(':')[2];
215
213
  const web3Provider = this.getWeb3Provider();
216
- return web3Provider.signMessage({
217
- account: address,
218
- message: utf8ToHex(messageToSign, true),
219
- });
214
+ return web3Provider.send('personal_sign', [
215
+ utf8ToHex(messageToSign, true),
216
+ address,
217
+ ]);
220
218
  });
221
219
  }
222
220
  proveOwnership(messageToSign) {
@@ -267,9 +265,7 @@ class WalletConnectV2 extends EthProvider {
267
265
  if (!this.session) {
268
266
  return [];
269
267
  }
270
- return [
271
- this.session.namespaces.eip155.accounts[0].split(':')[2],
272
- ];
268
+ return [this.session.namespaces.eip155.accounts[0].split(':')[2]];
273
269
  });
274
270
  }
275
271
  }
@@ -56,12 +56,10 @@ export interface IEthereum {
56
56
  isPhantom: boolean;
57
57
  isTrustWallet: boolean;
58
58
  isZerion: boolean;
59
- on: (event: string, listener: (...args: Array<any>) => unknown) => void;
60
59
  providers: object[];
61
- removeListener: (event: string, listener: (...args: Array<any>) => unknown) => void;
62
60
  request: <T extends string>(params: {
63
61
  method: T;
64
- } | object) => Promise<T extends 'eth_requestAccounts' ? [`0x${string}`] : object>;
62
+ } | object) => Promise<T extends 'eth_requestAccounts' ? [string] : object>;
65
63
  }
66
64
  export interface ISolana {
67
65
  connect: () => Promise<void | object>;
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var chains = require('viem/chains');
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var chains__namespace = /*#__PURE__*/_interopNamespace(chains);
26
-
27
- // eslint-disable-next-line import/no-namespace
28
- /**
29
- * Gets the chain object for the given chain id.
30
- * @param chainId - Chain id of the target EVM chain.
31
- * @returns Viem's chain object.
32
- */
33
- const getChain = (chainId) => {
34
- for (const chain of Object.values(chains__namespace)) {
35
- if ('id' in chain) {
36
- if (chain.id === chainId) {
37
- return chain;
38
- }
39
- }
40
- }
41
- throw new Error(`Chain with id ${chainId} not found`);
42
- };
43
- const mapChain = (network) => {
44
- var _a;
45
- return ({
46
- blockExplorers: ((_a = network.blockExplorerUrls) === null || _a === void 0 ? void 0 : _a[0])
47
- ? {
48
- default: {
49
- name: network.blockExplorerUrls[0],
50
- url: network.blockExplorerUrls[0],
51
- },
52
- }
53
- : undefined,
54
- id: network.chainId,
55
- name: network.vanityName || network.chainName,
56
- nativeCurrency: network.nativeCurrency,
57
- network: network.chainName,
58
- rpcUrls: {
59
- default: { http: network.rpcUrls },
60
- public: { http: network.rpcUrls },
61
- },
62
- });
63
- };
64
- const getOrMapViemChain = (network) => {
65
- let chain;
66
- try {
67
- chain = getChain(network.chainId);
68
- }
69
- catch (_a) {
70
- chain = mapChain(network);
71
- }
72
- return chain;
73
- };
74
-
75
- exports.getChain = getChain;
76
- exports.getOrMapViemChain = getOrMapViemChain;
77
- exports.mapChain = mapChain;
@@ -1,11 +0,0 @@
1
- import { Chain } from 'viem';
2
- import * as chains from 'viem/chains';
3
- import { EvmNetwork } from './wallets/ethereum/evm-network';
4
- /**
5
- * Gets the chain object for the given chain id.
6
- * @param chainId - Chain id of the target EVM chain.
7
- * @returns Viem's chain object.
8
- */
9
- export declare const getChain: (chainId: number) => chains.Chain;
10
- export declare const mapChain: (network: EvmNetwork) => Chain;
11
- export declare const getOrMapViemChain: (network: EvmNetwork) => Chain;
@@ -1,51 +0,0 @@
1
- import * as chains from 'viem/chains';
2
-
3
- // eslint-disable-next-line import/no-namespace
4
- /**
5
- * Gets the chain object for the given chain id.
6
- * @param chainId - Chain id of the target EVM chain.
7
- * @returns Viem's chain object.
8
- */
9
- const getChain = (chainId) => {
10
- for (const chain of Object.values(chains)) {
11
- if ('id' in chain) {
12
- if (chain.id === chainId) {
13
- return chain;
14
- }
15
- }
16
- }
17
- throw new Error(`Chain with id ${chainId} not found`);
18
- };
19
- const mapChain = (network) => {
20
- var _a;
21
- return ({
22
- blockExplorers: ((_a = network.blockExplorerUrls) === null || _a === void 0 ? void 0 : _a[0])
23
- ? {
24
- default: {
25
- name: network.blockExplorerUrls[0],
26
- url: network.blockExplorerUrls[0],
27
- },
28
- }
29
- : undefined,
30
- id: network.chainId,
31
- name: network.vanityName || network.chainName,
32
- nativeCurrency: network.nativeCurrency,
33
- network: network.chainName,
34
- rpcUrls: {
35
- default: { http: network.rpcUrls },
36
- public: { http: network.rpcUrls },
37
- },
38
- });
39
- };
40
- const getOrMapViemChain = (network) => {
41
- let chain;
42
- try {
43
- chain = getChain(network.chainId);
44
- }
45
- catch (_a) {
46
- chain = mapChain(network);
47
- }
48
- return chain;
49
- };
50
-
51
- export { getChain, getOrMapViemChain, mapChain };