@reown/appkit-scaffold-ui 1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0 → 1.8.14-embedded-mode-fix.0

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 (41) hide show
  1. package/dist/esm/exports/utils.js +0 -2
  2. package/dist/esm/exports/utils.js.map +1 -1
  3. package/dist/esm/src/modal/w3m-modal/index.js +5 -3
  4. package/dist/esm/src/modal/w3m-modal/index.js.map +1 -1
  5. package/dist/esm/src/partials/w3m-account-wallet-features-widget/index.js +1 -2
  6. package/dist/esm/src/partials/w3m-account-wallet-features-widget/index.js.map +1 -1
  7. package/dist/esm/src/partials/w3m-all-wallets-list/index.js +3 -35
  8. package/dist/esm/src/partials/w3m-all-wallets-list/index.js.map +1 -1
  9. package/dist/esm/src/partials/w3m-all-wallets-search/index.js +1 -2
  10. package/dist/esm/src/partials/w3m-all-wallets-search/index.js.map +1 -1
  11. package/dist/esm/src/partials/w3m-connecting-wc-mobile/index.js +2 -32
  12. package/dist/esm/src/partials/w3m-connecting-wc-mobile/index.js.map +1 -1
  13. package/dist/esm/src/partials/w3m-connector-list/index.js +3 -84
  14. package/dist/esm/src/partials/w3m-connector-list/index.js.map +1 -1
  15. package/dist/esm/src/utils/ConnectionUtil.js +1 -2
  16. package/dist/esm/src/utils/ConnectionUtil.js.map +1 -1
  17. package/dist/esm/src/utils/ConstantsUtil.js +0 -1
  18. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -1
  19. package/dist/esm/src/views/w3m-connect-view/index.js +1 -2
  20. package/dist/esm/src/views/w3m-connect-view/index.js.map +1 -1
  21. package/dist/esm/test/WalletUtil.test.js +1 -2
  22. package/dist/esm/test/WalletUtil.test.js.map +1 -1
  23. package/dist/esm/test/partials/w3m-connecting-wc-mobile.test.js +9 -3
  24. package/dist/esm/test/partials/w3m-connecting-wc-mobile.test.js.map +1 -1
  25. package/dist/esm/test/partials/w3m-connector-list.test.js +10 -2
  26. package/dist/esm/test/partials/w3m-connector-list.test.js.map +1 -1
  27. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  28. package/dist/types/exports/utils.d.ts +0 -2
  29. package/dist/types/src/partials/w3m-all-wallets-list/index.d.ts +0 -4
  30. package/dist/types/src/partials/w3m-connector-list/index.d.ts +0 -4
  31. package/dist/types/src/utils/ConstantsUtil.d.ts +0 -2
  32. package/package.json +6 -6
  33. package/dist/esm/src/utils/ConnectorUtil.js +0 -190
  34. package/dist/esm/src/utils/ConnectorUtil.js.map +0 -1
  35. package/dist/esm/src/utils/WalletUtil.js +0 -131
  36. package/dist/esm/src/utils/WalletUtil.js.map +0 -1
  37. package/dist/esm/test/utils/ConnectorUtil.test.js +0 -342
  38. package/dist/esm/test/utils/ConnectorUtil.test.js.map +0 -1
  39. package/dist/types/src/utils/ConnectorUtil.d.ts +0 -43
  40. package/dist/types/src/utils/WalletUtil.d.ts +0 -39
  41. package/dist/types/test/utils/ConnectorUtil.test.d.ts +0 -1
@@ -1,3 +1 @@
1
- export * from '../src/utils/ConnectorUtil.js';
2
1
  export * from '../src/utils/ConstantsUtil.js';
3
- export * from '../src/utils/WalletUtil.js';
@@ -8,9 +8,6 @@ export declare class W3mAllWalletsList extends LitElement {
8
8
  private paginationObserver?;
9
9
  private loading;
10
10
  private wallets;
11
- private recommended;
12
- private featured;
13
- private filteredWallets;
14
11
  private badge?;
15
12
  private mobileFullScreen;
16
13
  constructor();
@@ -19,7 +16,6 @@ export declare class W3mAllWalletsList extends LitElement {
19
16
  render(): import("lit").TemplateResult<1>;
20
17
  private initialFetch;
21
18
  private shimmerTemplate;
22
- private getWallets;
23
19
  private walletsTemplate;
24
20
  private paginationLoaderTemplate;
25
21
  private createPaginationObserver;
@@ -4,9 +4,6 @@ export declare class W3mConnectorList extends LitElement {
4
4
  static styles: import("lit").CSSResult;
5
5
  private unsubscribe;
6
6
  tabIdx?: number;
7
- private connectors;
8
- private recommended;
9
- private featured;
10
7
  private explorerWallets?;
11
8
  private connections;
12
9
  private connectorImages;
@@ -14,7 +11,6 @@ export declare class W3mConnectorList extends LitElement {
14
11
  constructor();
15
12
  disconnectedCallback(): void;
16
13
  render(): import("lit").TemplateResult<1>;
17
- private processConnectorsByType;
18
14
  private connectorListTemplate;
19
15
  private getConnectorNamespaces;
20
16
  private renderConnector;
@@ -1,4 +1,3 @@
1
- import type { ConnectMethod } from '@reown/appkit-controllers';
2
1
  export declare const ConstantsUtil: {
3
2
  ACCOUNT_TABS: {
4
3
  label: string;
@@ -8,7 +7,6 @@ export declare const ConstantsUtil: {
8
7
  Next: string;
9
8
  Prev: string;
10
9
  };
11
- DEFAULT_CONNECT_METHOD_ORDER: ConnectMethod[];
12
10
  ANIMATION_DURATIONS: {
13
11
  HeaderText: number;
14
12
  ModalHeight: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-scaffold-ui",
3
- "version": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0",
3
+ "version": "1.8.14-embedded-mode-fix.0",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/exports/index.js",
6
6
  "types": "./dist/types/exports/index.d.ts",
@@ -103,11 +103,11 @@
103
103
  },
104
104
  "dependencies": {
105
105
  "lit": "3.3.0",
106
- "@reown/appkit-common": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0",
107
- "@reown/appkit-controllers": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0",
108
- "@reown/appkit-ui": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0",
109
- "@reown/appkit-utils": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0",
110
- "@reown/appkit-wallet": "1.8.14-e330f62532f95683ed69bdb0f4fef77f3039df30.0"
106
+ "@reown/appkit-common": "1.8.14-embedded-mode-fix.0",
107
+ "@reown/appkit-controllers": "1.8.14-embedded-mode-fix.0",
108
+ "@reown/appkit-ui": "1.8.14-embedded-mode-fix.0",
109
+ "@reown/appkit-utils": "1.8.14-embedded-mode-fix.0",
110
+ "@reown/appkit-wallet": "1.8.14-embedded-mode-fix.0"
111
111
  },
112
112
  "author": "Reown (https://discord.gg/reown)",
113
113
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,190 +0,0 @@
1
- import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';
2
- import { ApiController, ChainController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController, OptionsUtil, StorageUtil } from '@reown/appkit-controllers';
3
- import { HelpersUtil } from '@reown/appkit-utils';
4
- import { WalletUtil } from './WalletUtil.js';
5
- export const ConnectorUtil = {
6
- getConnectorsByType(connectors, recommended, featured) {
7
- const { customWallets } = OptionsController.state;
8
- const recent = StorageUtil.getRecentWallets();
9
- const filteredRecommended = WalletUtil.filterOutDuplicateWallets(recommended);
10
- const filteredFeatured = WalletUtil.filterOutDuplicateWallets(featured);
11
- const multiChain = connectors.filter(connector => connector.type === 'MULTI_CHAIN');
12
- const announced = connectors.filter(connector => connector.type === 'ANNOUNCED');
13
- const injected = connectors.filter(connector => connector.type === 'INJECTED');
14
- const external = connectors.filter(connector => connector.type === 'EXTERNAL');
15
- return {
16
- custom: customWallets,
17
- recent,
18
- external,
19
- multiChain,
20
- announced,
21
- injected,
22
- recommended: filteredRecommended,
23
- featured: filteredFeatured
24
- };
25
- },
26
- showConnector(connector) {
27
- const rdns = connector.info?.rdns;
28
- const isRDNSExcluded = Boolean(rdns) &&
29
- ApiController.state.excludedWallets.some(wallet => Boolean(wallet.rdns) && wallet.rdns === rdns);
30
- const isNameExcluded = Boolean(connector.name) &&
31
- ApiController.state.excludedWallets.some(wallet => HelpersUtil.isLowerCaseMatch(wallet.name, connector.name));
32
- if (connector.type === 'INJECTED') {
33
- const isBrowserWallet = connector.name === 'Browser Wallet';
34
- if (isBrowserWallet) {
35
- if (!CoreHelperUtil.isMobile()) {
36
- return false;
37
- }
38
- if (CoreHelperUtil.isMobile() && !rdns && !ConnectionController.checkInstalled()) {
39
- return false;
40
- }
41
- }
42
- if (isRDNSExcluded || isNameExcluded) {
43
- return false;
44
- }
45
- }
46
- if ((connector.type === 'ANNOUNCED' || connector.type === 'EXTERNAL') &&
47
- (isRDNSExcluded || isNameExcluded)) {
48
- return false;
49
- }
50
- return true;
51
- },
52
- getIsConnectedWithWC() {
53
- const chains = Array.from(ChainController.state.chains.values());
54
- const isConnectedWithWC = chains.some(chain => {
55
- const connectorId = ConnectorController.getConnectorId(chain.namespace);
56
- return connectorId === CommonConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;
57
- });
58
- return isConnectedWithWC;
59
- },
60
- getConnectorTypeOrder({ recommended, featured, custom, recent, announced, injected, multiChain, external, overriddenConnectors = OptionsController.state.features?.connectorTypeOrder ?? [] }) {
61
- const allConnectors = [
62
- { type: 'walletConnect', isEnabled: true },
63
- { type: 'recent', isEnabled: recent.length > 0 },
64
- { type: 'injected', isEnabled: [...injected, ...announced, ...multiChain].length > 0 },
65
- { type: 'featured', isEnabled: featured.length > 0 },
66
- { type: 'custom', isEnabled: custom && custom.length > 0 },
67
- { type: 'external', isEnabled: external.length > 0 },
68
- { type: 'recommended', isEnabled: recommended.length > 0 }
69
- ];
70
- const enabledConnectors = allConnectors.filter(option => option.isEnabled);
71
- const enabledConnectorTypes = new Set(enabledConnectors.map(option => option.type));
72
- const prioritizedConnectors = overriddenConnectors
73
- .filter(type => enabledConnectorTypes.has(type))
74
- .map(type => ({ type, isEnabled: true }));
75
- const remainingConnectors = enabledConnectors.filter(({ type: enabledConnectorType }) => {
76
- const hasPrioritizedConnector = prioritizedConnectors.some(({ type: prioritizedConnectorType }) => prioritizedConnectorType === enabledConnectorType);
77
- return !hasPrioritizedConnector;
78
- });
79
- return Array.from(new Set([...prioritizedConnectors, ...remainingConnectors].map(({ type }) => type)));
80
- },
81
- sortConnectorsByExplorerWallet(connectors) {
82
- return [...connectors].sort((a, b) => {
83
- if (a.explorerWallet && b.explorerWallet) {
84
- return (a.explorerWallet.order ?? 0) - (b.explorerWallet.order ?? 0);
85
- }
86
- if (a.explorerWallet) {
87
- return -1;
88
- }
89
- if (b.explorerWallet) {
90
- return 1;
91
- }
92
- return 0;
93
- });
94
- },
95
- getAuthName({ email, socialUsername, socialProvider }) {
96
- if (socialUsername) {
97
- if (socialProvider && socialProvider === 'discord' && socialUsername.endsWith('0')) {
98
- return socialUsername.slice(0, -1);
99
- }
100
- return socialUsername;
101
- }
102
- return email.length > 30 ? `${email.slice(0, -3)}...` : email;
103
- },
104
- async fetchProviderData(connector) {
105
- try {
106
- if (connector.name === 'Browser Wallet' && !CoreHelperUtil.isMobile()) {
107
- return { accounts: [], chainId: undefined };
108
- }
109
- if (connector.id === CommonConstantsUtil.CONNECTOR_ID.AUTH) {
110
- return { accounts: [], chainId: undefined };
111
- }
112
- const [accounts, chainId] = await Promise.all([
113
- connector.provider?.request({ method: 'eth_accounts' }),
114
- connector.provider
115
- ?.request({ method: 'eth_chainId' })
116
- .then(hexChainId => Number(hexChainId))
117
- ]);
118
- return { accounts, chainId };
119
- }
120
- catch (err) {
121
- console.warn(`Failed to fetch provider data for ${connector.name}`, err);
122
- return { accounts: [], chainId: undefined };
123
- }
124
- },
125
- getFilteredCustomWallets(wallets) {
126
- const recent = StorageUtil.getRecentWallets();
127
- const connectorRDNSs = ConnectorController.state.connectors
128
- .map(connector => connector.info?.rdns)
129
- .filter(Boolean);
130
- const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);
131
- const allRDNSs = connectorRDNSs.concat(recentRDNSs);
132
- if (allRDNSs.includes('io.metamask.mobile') && CoreHelperUtil.isMobile()) {
133
- const index = allRDNSs.indexOf('io.metamask.mobile');
134
- allRDNSs[index] = 'io.metamask';
135
- }
136
- const filtered = wallets.filter(wallet => !allRDNSs.includes(String(wallet?.rdns)));
137
- return filtered;
138
- },
139
- hasWalletConnector(wallet) {
140
- return ConnectorController.state.connectors.some(connector => connector.id === wallet.id || connector.name === wallet.name);
141
- },
142
- isWalletCompatibleWithCurrentChain(wallet) {
143
- const currentNamespace = ChainController.state.activeChain;
144
- if (currentNamespace && wallet.chains) {
145
- return wallet.chains.some(c => {
146
- const chainNamespace = c.split(':')[0];
147
- return currentNamespace === chainNamespace;
148
- });
149
- }
150
- return true;
151
- },
152
- getFilteredRecentWallets() {
153
- const recentWallets = StorageUtil.getRecentWallets();
154
- const filteredRecentWallets = recentWallets
155
- .filter(wallet => !WalletUtil.isExcluded(wallet))
156
- .filter(wallet => !this.hasWalletConnector(wallet))
157
- .filter(wallet => this.isWalletCompatibleWithCurrentChain(wallet));
158
- return filteredRecentWallets;
159
- },
160
- getCappedRecommendedWallets(wallets) {
161
- const { connectors } = ConnectorController.state;
162
- const { customWallets, featuredWalletIds } = OptionsController.state;
163
- const wcConnector = connectors.find(c => c.id === 'walletConnect');
164
- const injectedConnectors = connectors.filter(c => c.type === 'INJECTED' || c.type === 'ANNOUNCED' || c.type === 'MULTI_CHAIN');
165
- if (!wcConnector && !injectedConnectors.length && !customWallets?.length) {
166
- return [];
167
- }
168
- const isEmailEnabled = OptionsUtil.isEmailEnabled();
169
- const isSocialsEnabled = OptionsUtil.isSocialsEnabled();
170
- const injectedWallets = injectedConnectors.filter(i => i.name !== 'Browser Wallet');
171
- const featuredWalletAmount = featuredWalletIds?.length || 0;
172
- const customWalletAmount = customWallets?.length || 0;
173
- const injectedWalletAmount = injectedWallets.length || 0;
174
- const emailWalletAmount = isEmailEnabled ? 1 : 0;
175
- const socialWalletAmount = isSocialsEnabled ? 1 : 0;
176
- const walletsDisplayed = featuredWalletAmount +
177
- customWalletAmount +
178
- injectedWalletAmount +
179
- emailWalletAmount +
180
- socialWalletAmount;
181
- const DISPLAYED_WALLETS_AMOUNT = 4;
182
- const sliceAmount = Math.max(0, DISPLAYED_WALLETS_AMOUNT - walletsDisplayed);
183
- if (sliceAmount <= 0) {
184
- return [];
185
- }
186
- const filtered = WalletUtil.filterOutDuplicateWallets(wallets);
187
- return filtered.slice(0, sliceAmount);
188
- }
189
- };
190
- //# sourceMappingURL=ConnectorUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectorUtil.js","sourceRoot":"","sources":["../../../../src/utils/ConnectorUtil.ts"],"names":[],"mappings":"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"}
@@ -1,131 +0,0 @@
1
- import { ConstantsUtil as CommonConstantsUtil } from '@reown/appkit-common';
2
- import { ApiController, ConnectionController, ConnectorController, CoreHelperUtil, OptionsController, StorageUtil } from '@reown/appkit-controllers';
3
- import { HelpersUtil } from '@reown/appkit-utils';
4
- import { ConstantsUtil as AppKitConstantsUtil, PresetsUtil } from '@reown/appkit-utils';
5
- import { ConnectorUtil } from './ConnectorUtil.js';
6
- import { ConstantsUtil } from './ConstantsUtil.js';
7
- const MANDATORY_WALLET_IDS_ON_MOBILE = [
8
- PresetsUtil.ConnectorExplorerIds[CommonConstantsUtil.CONNECTOR_ID.COINBASE],
9
- PresetsUtil.ConnectorExplorerIds[CommonConstantsUtil.CONNECTOR_ID.COINBASE_SDK],
10
- PresetsUtil.ConnectorExplorerIds[CommonConstantsUtil.CONNECTOR_ID.BASE_ACCOUNT],
11
- PresetsUtil.ConnectorExplorerIds[AppKitConstantsUtil.SOLFLARE_CONNECTOR_NAME],
12
- PresetsUtil.ConnectorExplorerIds[AppKitConstantsUtil.PHANTOM_CONNECTOR_NAME],
13
- PresetsUtil.ConnectorExplorerIds[AppKitConstantsUtil.BINANCE_CONNECTOR_NAME]
14
- ];
15
- export const WalletUtil = {
16
- filterOutDuplicatesByRDNS(wallets) {
17
- const connectors = OptionsController.state.enableEIP6963
18
- ? ConnectorController.state.connectors
19
- : [];
20
- const recent = StorageUtil.getRecentWallets();
21
- const connectorRDNSs = connectors
22
- .map(connector => connector.info?.rdns)
23
- .filter(Boolean);
24
- const recentRDNSs = recent.map(wallet => wallet.rdns).filter(Boolean);
25
- const allRDNSs = connectorRDNSs.concat(recentRDNSs);
26
- if (allRDNSs.includes('io.metamask.mobile') && CoreHelperUtil.isMobile()) {
27
- const index = allRDNSs.indexOf('io.metamask.mobile');
28
- allRDNSs[index] = 'io.metamask';
29
- }
30
- const filtered = wallets.filter(wallet => {
31
- if (wallet?.rdns && allRDNSs.includes(String(wallet.rdns))) {
32
- return false;
33
- }
34
- if (!wallet?.rdns) {
35
- const hasMatchingConnectorName = connectors.some(connector => connector.name === wallet.name);
36
- if (hasMatchingConnectorName) {
37
- return false;
38
- }
39
- }
40
- return true;
41
- });
42
- return filtered;
43
- },
44
- filterOutDuplicatesByIds(wallets) {
45
- const connectors = ConnectorController.state.connectors.filter(connector => connector.type === 'ANNOUNCED' ||
46
- connector.type === 'INJECTED' ||
47
- connector.type === 'MULTI_CHAIN');
48
- const recent = StorageUtil.getRecentWallets();
49
- const connectorIds = connectors.map(connector => connector.explorerId || connector.explorerWallet?.id || connector.id);
50
- const recentIds = recent.map(wallet => wallet.id);
51
- const allIds = connectorIds.concat(recentIds);
52
- const filtered = wallets.filter(wallet => !allIds.includes(wallet?.id));
53
- return filtered;
54
- },
55
- filterOutDuplicateWallets(wallets) {
56
- const uniqueByRDNS = this.filterOutDuplicatesByRDNS(wallets);
57
- const uniqueWallets = this.filterOutDuplicatesByIds(uniqueByRDNS);
58
- return uniqueWallets;
59
- },
60
- markWalletsAsInstalled(wallets) {
61
- const { connectors } = ConnectorController.state;
62
- const { featuredWalletIds } = OptionsController.state;
63
- const installedWalletRdnsMap = connectors
64
- .filter(connector => connector.type === 'ANNOUNCED')
65
- .reduce((rdnsMap, connector) => {
66
- if (!connector.info?.rdns) {
67
- return rdnsMap;
68
- }
69
- rdnsMap[connector.info.rdns] = true;
70
- return rdnsMap;
71
- }, {});
72
- const walletsWithInstallationStatus = wallets.map(wallet => ({
73
- ...wallet,
74
- installed: Boolean(wallet.rdns) && Boolean(installedWalletRdnsMap[wallet.rdns ?? ''])
75
- }));
76
- const sortedWallets = walletsWithInstallationStatus.sort((walletA, walletB) => {
77
- const installationComparison = Number(walletB.installed) - Number(walletA.installed);
78
- if (installationComparison !== 0) {
79
- return installationComparison;
80
- }
81
- if (featuredWalletIds?.length) {
82
- const walletAFeaturedIndex = featuredWalletIds.indexOf(walletA.id);
83
- const walletBFeaturedIndex = featuredWalletIds.indexOf(walletB.id);
84
- if (walletAFeaturedIndex !== -1 && walletBFeaturedIndex !== -1) {
85
- return walletAFeaturedIndex - walletBFeaturedIndex;
86
- }
87
- if (walletAFeaturedIndex !== -1) {
88
- return -1;
89
- }
90
- if (walletBFeaturedIndex !== -1) {
91
- return 1;
92
- }
93
- }
94
- return 0;
95
- });
96
- return sortedWallets;
97
- },
98
- getConnectOrderMethod(_features, _connectors) {
99
- const connectMethodOrder = _features?.connectMethodsOrder || OptionsController.state.features?.connectMethodsOrder;
100
- const connectors = _connectors || ConnectorController.state.connectors;
101
- if (connectMethodOrder) {
102
- return connectMethodOrder;
103
- }
104
- const { injected, announced } = ConnectorUtil.getConnectorsByType(connectors, ApiController.state.recommended, ApiController.state.featured);
105
- const shownInjected = injected.filter(ConnectorUtil.showConnector);
106
- const shownAnnounced = announced.filter(ConnectorUtil.showConnector);
107
- if (shownInjected.length || shownAnnounced.length) {
108
- return ['wallet', 'email', 'social'];
109
- }
110
- return ConstantsUtil.DEFAULT_CONNECT_METHOD_ORDER;
111
- },
112
- isExcluded(wallet) {
113
- const isRDNSExcluded = Boolean(wallet.rdns) && ApiController.state.excludedWallets.some(w => w.rdns === wallet.rdns);
114
- const isNameExcluded = Boolean(wallet.name) &&
115
- ApiController.state.excludedWallets.some(w => HelpersUtil.isLowerCaseMatch(w.name, wallet.name));
116
- return isRDNSExcluded || isNameExcluded;
117
- },
118
- markWalletsWithDisplayIndex(wallets) {
119
- return wallets.map((w, index) => ({ ...w, display_index: index }));
120
- },
121
- filterWalletsByWcSupport(wallets) {
122
- if (ConnectionController.state.wcBasic) {
123
- return wallets.filter(wallet => wallet.supports_wc);
124
- }
125
- if (CoreHelperUtil.isMobile()) {
126
- return wallets.filter(wallet => wallet.supports_wc || MANDATORY_WALLET_IDS_ON_MOBILE.includes(wallet.id));
127
- }
128
- return wallets;
129
- }
130
- };
131
- //# sourceMappingURL=WalletUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletUtil.js","sourceRoot":"","sources":["../../../../src/utils/WalletUtil.ts"],"names":[],"mappings":"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"}