@0xsquid/react-hooks 7.1.0 → 7.1.1-wallets-refactor-beta.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 (98) hide show
  1. package/dist/core/connectors/bitcoin/index.d.ts +0 -8
  2. package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +1 -1
  3. package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +1 -1
  4. package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +1 -1
  5. package/dist/core/constants.d.ts +5 -0
  6. package/dist/core/constants.js +5 -0
  7. package/dist/core/constants.js.map +1 -1
  8. package/dist/core/providers/BitcoinProvider.d.ts +17 -0
  9. package/dist/core/providers/BitcoinProvider.js +15 -0
  10. package/dist/core/providers/BitcoinProvider.js.map +1 -0
  11. package/dist/core/providers/EvmProvider.d.ts +20 -0
  12. package/dist/core/providers/EvmProvider.js +15 -0
  13. package/dist/core/providers/EvmProvider.js.map +1 -0
  14. package/dist/core/providers/SolanaProvider.d.ts +10 -15
  15. package/dist/core/providers/SolanaProvider.js.map +1 -1
  16. package/dist/core/providers/SuiProvider.d.ts +1 -0
  17. package/dist/core/providers/SuiProvider.js.map +1 -1
  18. package/dist/core/types/bitcoin.d.ts +8 -0
  19. package/dist/core/types/bitcoin.js +2 -0
  20. package/dist/core/types/bitcoin.js.map +1 -0
  21. package/dist/core/types/evm.d.ts +2 -0
  22. package/dist/core/types/evm.js +2 -0
  23. package/dist/core/types/evm.js.map +1 -0
  24. package/dist/core/types/solana.d.ts +2 -0
  25. package/dist/core/types/solana.js +2 -0
  26. package/dist/core/types/solana.js.map +1 -0
  27. package/dist/core/types/sui.d.ts +3 -2
  28. package/dist/core/types/wallet.d.ts +16 -23
  29. package/dist/core/types/wallet.js +0 -15
  30. package/dist/core/types/wallet.js.map +1 -1
  31. package/dist/core/wagmiConfig.js +14 -1
  32. package/dist/core/wagmiConfig.js.map +1 -1
  33. package/dist/core/wallets.d.ts +1 -3
  34. package/dist/core/wallets.js +25 -350
  35. package/dist/core/wallets.js.map +1 -1
  36. package/dist/hooks/bitcoin/useBitcoin.d.ts +2 -0
  37. package/dist/hooks/bitcoin/useBitcoin.js +19 -0
  38. package/dist/hooks/bitcoin/useBitcoin.js.map +1 -0
  39. package/dist/hooks/bitcoin/useBitcoinWallets.d.ts +4 -0
  40. package/dist/hooks/bitcoin/useBitcoinWallets.js +10 -0
  41. package/dist/hooks/bitcoin/useBitcoinWallets.js.map +1 -0
  42. package/dist/hooks/evm/useEvm.d.ts +2 -0
  43. package/dist/hooks/evm/useEvm.js +55 -0
  44. package/dist/hooks/evm/useEvm.js.map +1 -0
  45. package/dist/hooks/evm/useEvmWallets.d.ts +7 -0
  46. package/dist/hooks/evm/useEvmWallets.js +16 -0
  47. package/dist/hooks/evm/useEvmWallets.js.map +1 -0
  48. package/dist/hooks/solana/useSolana.d.ts +2 -9
  49. package/dist/hooks/solana/useSolana.js +61 -84
  50. package/dist/hooks/solana/useSolana.js.map +1 -1
  51. package/dist/hooks/solana/useSolanaWallets.d.ts +4 -0
  52. package/dist/hooks/solana/useSolanaWallets.js +8 -0
  53. package/dist/hooks/solana/useSolanaWallets.js.map +1 -0
  54. package/dist/hooks/store/useWalletStore.js +5 -1
  55. package/dist/hooks/store/useWalletStore.js.map +1 -1
  56. package/dist/hooks/sui/useSui.js +61 -6
  57. package/dist/hooks/sui/useSui.js.map +1 -1
  58. package/dist/hooks/sui/useSuiWallets.d.ts +0 -3
  59. package/dist/hooks/sui/useSuiWallets.js +18 -37
  60. package/dist/hooks/sui/useSuiWallets.js.map +1 -1
  61. package/dist/hooks/wallet/useAutoConnect.js +13 -6
  62. package/dist/hooks/wallet/useAutoConnect.js.map +1 -1
  63. package/dist/hooks/wallet/useSigner.d.ts +2 -3
  64. package/dist/hooks/wallet/useSigner.js +2 -19
  65. package/dist/hooks/wallet/useSigner.js.map +1 -1
  66. package/dist/hooks/wallet/useStandardWallets.d.ts +9 -0
  67. package/dist/hooks/wallet/useStandardWallets.js +26 -0
  68. package/dist/hooks/wallet/useStandardWallets.js.map +1 -0
  69. package/dist/hooks/wallet/useWallet.d.ts +2 -3
  70. package/dist/hooks/wallet/useWallet.js +11 -52
  71. package/dist/hooks/wallet/useWallet.js.map +1 -1
  72. package/dist/hooks/wallet/useWallets.js +15 -21
  73. package/dist/hooks/wallet/useWallets.js.map +1 -1
  74. package/dist/provider/index.js +7 -3
  75. package/dist/provider/index.js.map +1 -1
  76. package/dist/services/internal/bitcoinService.d.ts +0 -3
  77. package/dist/services/internal/bitcoinService.js +0 -31
  78. package/dist/services/internal/bitcoinService.js.map +1 -1
  79. package/dist/services/internal/evmService.d.ts +8 -7
  80. package/dist/services/internal/evmService.js +29 -12
  81. package/dist/services/internal/evmService.js.map +1 -1
  82. package/dist/services/internal/sendTransaction.d.ts +3 -3
  83. package/dist/services/internal/sendTransaction.js.map +1 -1
  84. package/dist/services/internal/solanaService.d.ts +7 -7
  85. package/dist/services/internal/solanaService.js +40 -10
  86. package/dist/services/internal/solanaService.js.map +1 -1
  87. package/dist/services/internal/suiService.d.ts +1 -11
  88. package/dist/services/internal/suiService.js +20 -58
  89. package/dist/services/internal/suiService.js.map +1 -1
  90. package/dist/services/internal/walletService.d.ts +18 -22
  91. package/dist/services/internal/walletService.js +128 -48
  92. package/dist/services/internal/walletService.js.map +1 -1
  93. package/dist/services/internal/walletStandardService.d.ts +17 -0
  94. package/dist/services/internal/walletStandardService.js +126 -0
  95. package/dist/services/internal/walletStandardService.js.map +1 -0
  96. package/dist/tests/walletService.test.js +242 -18
  97. package/dist/tests/walletService.test.js.map +1 -1
  98. package/package.json +4 -4
@@ -1,17 +1,11 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
- import { isSuiChain, SUI_MAINNET_CHAIN, SUI_TESTNET_CHAIN, } from "@mysten/wallet-standard";
2
+ import { SUI_MAINNET_CHAIN, SUI_TESTNET_CHAIN, } from "@mysten/wallet-standard";
3
3
  import { CHAIN_IDS } from "../../core/constants";
4
4
  import { walletIconBaseUrl } from "../../core/wallets";
5
- const STANDARD_FEATURES = [
6
- "standard:connect",
7
- "standard:events",
8
- ];
5
+ import { isStandardWalletWithCustomFeatures, standardWalletOverrides, } from "./walletStandardService";
9
6
  const SUI_FEATURES = ["sui:signTransaction"];
10
- /**
11
- * Validates that a given standard wallet has all the required features for a Sui wallet
12
- */
13
7
  function isSuiStandardWallet(wallet) {
14
- return [...STANDARD_FEATURES, ...SUI_FEATURES].every((feature) => feature in wallet.features);
8
+ return isStandardWalletWithCustomFeatures(wallet, SUI_FEATURES);
15
9
  }
16
10
  export function filterSuiWallets(standardWallets) {
17
11
  // Filter out all non-Sui standard wallets
@@ -33,41 +27,13 @@ export const slushWebWalletData = {
33
27
  id: "slush-web-wallet",
34
28
  name: "Slush Web Wallet",
35
29
  };
36
- /**
37
- * Override Sui standard wallet properties
38
- */
39
- export const suiStdWalletOverrides = {
40
- Phantom: {
41
- icon: `${walletIconBaseUrl}/phantom.webp`,
42
- connectorId: "phantom",
43
- },
44
- Backpack: {
45
- icon: `${walletIconBaseUrl}/backpack.webp`,
46
- connectorId: "backpack",
47
- },
48
- "OKX Wallet": {
49
- icon: `${walletIconBaseUrl}/okx.webp`,
50
- connectorId: "okx",
51
- },
52
- "Cosmostation Wallet": {
53
- icon: `${walletIconBaseUrl}/cosmostation.webp`,
54
- connectorId: "cosmostation",
55
- },
56
- "Surf Wallet": {
57
- icon: `${walletIconBaseUrl}/surf.webp`,
58
- },
59
- "com.mystenlabs.suiwallet": {
60
- icon: `${walletIconBaseUrl}/slush.webp`,
61
- name: "Slush Wallet",
62
- },
63
- };
64
30
  /**
65
31
  * Format a Sui standard wallet into a Squid Wallet
66
32
  */
67
33
  function formatSuiWallet(wallet) {
68
- const { icon, name: defaultName, features, id, chains } = wallet;
34
+ const { icon, name: defaultName, features, id } = wallet;
69
35
  const standardWalletId = id || defaultName;
70
- const walletOverrides = suiStdWalletOverrides[standardWalletId];
36
+ const walletOverrides = standardWalletOverrides[standardWalletId];
71
37
  const walletIcon = walletOverrides?.icon || icon;
72
38
  const name = walletOverrides?.name || defaultName;
73
39
  const connectorId = walletOverrides?.connectorId || standardWalletId;
@@ -84,25 +50,21 @@ function formatSuiWallet(wallet) {
84
50
  // and works similar to WalletConnect
85
51
  isInstalled: isSlushWebWallet ? undefined : () => true,
86
52
  skipInstallCheck: isSlushWebWallet,
87
- connector() {
88
- return {
89
- signTransaction: features["sui:signTransaction"].signTransaction,
90
- connect: async () => {
91
- const { accounts } = await features["standard:connect"].connect();
92
- if (!isSuiChain(chains[0]))
93
- throw new Error("Error connecting Sui wallet, invalid chain");
94
- if (!accounts.length) {
95
- throw new Error("No accounts returned from wallet");
96
- }
97
- return {
98
- account: accounts[0],
99
- chain: chains[0],
100
- };
101
- },
102
- disconnect: async () => {
103
- await features["standard:disconnect"]?.disconnect();
104
- },
105
- };
53
+ connector: {
54
+ signTransaction: features["sui:signTransaction"].signTransaction,
55
+ connect: async (params) => {
56
+ const { accounts } = await features["standard:connect"].connect(params);
57
+ if (!accounts.length) {
58
+ throw new Error("No accounts returned from wallet");
59
+ }
60
+ return {
61
+ account: accounts[0],
62
+ };
63
+ },
64
+ disconnect: async () => {
65
+ await features["standard:disconnect"]?.disconnect();
66
+ },
67
+ on: features["standard:events"].on,
106
68
  },
107
69
  };
108
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"suiService.js","sourceRoot":"","sources":["../../../src/services/internal/suiService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suiService.js","sourceRoot":"","sources":["../../../src/services/internal/suiService.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import type { ChainData, Token } from "@0xsquid/squid-types";
2
2
  import { ChainType } from "@0xsquid/squid-types";
3
- import { Config, Connector } from "@wagmi/core";
4
- import { ConnectMutateAsync } from "wagmi/query";
3
+ import { Connector } from "@wagmi/core";
4
+ import { IBitcoinContextData } from "../../core/providers/BitcoinProvider";
5
5
  import { ICosmosContextData } from "../../core/providers/CosmosProvider";
6
+ import { IEvmContextData } from "../../core/providers/EvmProvider";
6
7
  import { ISolanaContextData } from "../../core/providers/SolanaProvider";
7
8
  import { ISuiContextData } from "../../core/providers/SuiProvider";
8
9
  import { TokenWithBalance } from "../../core/types/tokens";
9
- import type { ConnectWalletResult, EnsSearchResult, Wallet } from "../../core/types/wallet";
10
+ import type { ChainTypeToWalletState, ConnectorID, ConnectWalletResult, EnsSearchResult, Wallet } from "../../core/types/wallet";
10
11
  type FormatHashParams = {
11
12
  hash?: string;
12
13
  chainType?: ChainType;
@@ -20,7 +21,6 @@ export declare const redirectToExtensionsStore: (wallet: Wallet) => void;
20
21
  * e.g. "xfi.keplr" will return window.xfi.keplr
21
22
  */
22
23
  export declare const accessProperty: (object: Record<string, any>, path: string) => any;
23
- export declare const getWalletWindowProvider: (window: Window, wallet: Wallet, chainType: ChainType) => any;
24
24
  export declare const getWallets: (window: Window | undefined, wallets: Wallet[]) => Wallet[];
25
25
  /**
26
26
  * Get the base chain to connect to
@@ -59,30 +59,15 @@ export declare function addTokenToWallet({ token: { address, decimals, symbol, l
59
59
  provider: any;
60
60
  }): any;
61
61
  export declare function isEvmChainNotSupportedError(error: any): boolean;
62
- /**
63
- * Find a wallet by wagmi connector
64
- * EIP-6963: https://eips.ethereum.org/EIPS/eip-6963
65
- * Sometimes the ID is set as the RDNS which is the domain name of wallet
66
- * @param wallets
67
- * @param connector
68
- * @returns
69
- */
70
- export declare const findWalletByWagmiConnector: (wallets: Wallet[], connector: Connector | undefined) => Wallet | undefined;
71
- /**
72
- * Find a wallet by label (connector ID, name, or RDNS)
73
- * @param wallets
74
- * @param label
75
- * @returns
76
- */
77
- export declare const findWalletByLabel: (wallets: Wallet[], label: string) => Wallet | undefined;
78
62
  export declare const getWalletSupportedChainTypes: (wallet: Wallet) => ChainType[];
79
- export declare const getConnectorForChainType: (wallet: Wallet, chainType: ChainType) => (() => any) | undefined;
63
+ export declare const getConnectorForChainType: <T extends ChainType>(wallet: Wallet, chainType: T) => ChainTypeToWalletState[T]["wallet"]["connector"] | undefined;
80
64
  export declare function walletSupportsChainType(wallet: Wallet, chainType: ChainType): boolean;
81
65
  interface ConnectWalletMutations {
82
- connectEvmAsync: ConnectMutateAsync<Config, unknown>;
66
+ connectEvm: IEvmContextData["connectEvm"];
83
67
  connectCosmos: ICosmosContextData["connectCosmos"];
84
68
  cosmosConnectedWallet: ICosmosContextData["cosmosConnectedWallet"];
85
69
  connectSolana: ISolanaContextData["connectSolana"];
70
+ connectBitcoin: IBitcoinContextData["connectBitcoin"];
86
71
  connectSui: ISuiContextData["connectSui"];
87
72
  }
88
73
  type ConnectWalletParams = {
@@ -100,4 +85,15 @@ interface WalletConnectionResult {
100
85
  }
101
86
  export declare const connectWallet: (params: ConnectWalletParams) => Promise<WalletConnectionResult | null>;
102
87
  export declare const isProblematicConnector: (connector: Connector | undefined) => boolean;
88
+ interface MergeWalletsParams {
89
+ singleChainWallets: Wallet[];
90
+ multiChainWallets: Wallet[];
91
+ }
92
+ export declare function mergeWallets({ multiChainWallets, singleChainWallets, }: MergeWalletsParams): Wallet[];
93
+ export declare const RecentWalletStorage: {
94
+ getKey(chainType: ChainType): string;
95
+ get(chainType: ChainType): ConnectorID | null;
96
+ set(chainType: ChainType, connectorId: ConnectorID): void;
97
+ remove(chainType: ChainType): void;
98
+ };
103
99
  export {};
@@ -5,10 +5,9 @@ import { isAddress, SwitchChainError } from "viem";
5
5
  import { chainTypeToDefaultChainIdMap } from "../../core/constants";
6
6
  import { walletStoreLinks } from "../../core/wallets";
7
7
  import { WidgetEvents } from "../../services/internal/eventService";
8
- import { connectBitcoinWallet, isBitcoinAddressValid } from "./bitcoinService";
8
+ import { isBitcoinAddressValid } from "./bitcoinService";
9
9
  import { connectCosmosWallet, isCosmosAddressValid } from "./cosmosService";
10
- import { connectEvmWallet } from "./evmService";
11
- import { connectSolanaWallet, isSolanaAddressValid } from "./solanaService";
10
+ import { isSolanaAddressValid } from "./solanaService";
12
11
  import { isSuiAddressValid } from "./suiService";
13
12
  const chainTypeToTrimLength = {
14
13
  // 0x1234...5678
@@ -78,10 +77,10 @@ export const redirectToExtensionsStore = (wallet) => {
78
77
  const { userAgent } = navigator;
79
78
  let link;
80
79
  if (userAgent.indexOf("Firefox") > -1) {
81
- link = walletStoreLinks[wallet.connectorId].firefox;
80
+ link = walletStoreLinks[wallet.connectorId]?.firefox;
82
81
  }
83
82
  else if (userAgent.indexOf("Chrome") > -1) {
84
- link = walletStoreLinks[wallet.connectorId].chrome;
83
+ link = walletStoreLinks[wallet.connectorId]?.chrome;
85
84
  }
86
85
  if (link && link !== "") {
87
86
  window?.open(link, "_blank")?.focus();
@@ -99,15 +98,6 @@ export const accessProperty = (object, path) => {
99
98
  }
100
99
  return value;
101
100
  };
102
- export const getWalletWindowProvider = (window, wallet, chainType) => {
103
- if (wallet.isMultiChain) {
104
- const connector = wallet.supportedNetworks.find((network) => network.chainType === chainType)?.connector;
105
- return connector?.().provider;
106
- }
107
- return wallet.windowFlag
108
- ? accessProperty(window, wallet.windowFlag)
109
- : undefined;
110
- };
111
101
  const definedInWindow = (path, clientWindow) => {
112
102
  if (!path || !clientWindow)
113
103
  return false;
@@ -265,39 +255,13 @@ export function isEvmChainNotSupportedError(error) {
265
255
  return (error instanceof ChainNotConfiguredError ||
266
256
  error instanceof SwitchChainError);
267
257
  }
268
- /**
269
- * Find a wallet by wagmi connector
270
- * EIP-6963: https://eips.ethereum.org/EIPS/eip-6963
271
- * Sometimes the ID is set as the RDNS which is the domain name of wallet
272
- * @param wallets
273
- * @param connector
274
- * @returns
275
- */
276
- export const findWalletByWagmiConnector = (wallets, connector) => {
277
- if (!connector)
278
- return undefined;
279
- return wallets.find((w) => w.connectorId.toLowerCase() === connector.id.toLowerCase() ||
280
- w.connectorName.toLowerCase() === connector.name.toLowerCase() ||
281
- w.rdns?.toLowerCase() === connector.id.toLowerCase());
282
- };
283
- /**
284
- * Find a wallet by label (connector ID, name, or RDNS)
285
- * @param wallets
286
- * @param label
287
- * @returns
288
- */
289
- export const findWalletByLabel = (wallets, label) => {
290
- return wallets.find((w) => w.connectorId.toLowerCase() === label.toLowerCase() ||
291
- w.connectorName.toLowerCase() === label.toLowerCase() ||
292
- w.rdns?.toLowerCase() === label.toLowerCase());
293
- };
294
258
  export const getWalletSupportedChainTypes = (wallet) => {
295
259
  if (!wallet.isMultiChain)
296
260
  return [];
297
261
  return wallet.supportedNetworks.map((config) => config.chainType);
298
262
  };
299
263
  export const getConnectorForChainType = (wallet, chainType) => {
300
- // For cross-chain wallets
264
+ // For multi-chain wallets
301
265
  if (wallet.isMultiChain) {
302
266
  const networkConfig = wallet.supportedNetworks.find((config) => config.chainType === chainType);
303
267
  return networkConfig?.connector;
@@ -322,8 +286,11 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
322
286
  const connector = getConnectorForChainType(wallet, chainType);
323
287
  switch (chainType) {
324
288
  case ChainType.EVM:
325
- return connectEvmWallet({ ...wallet, connector }, {
326
- connectEvmAsync: params.connectEvmAsync,
289
+ return params.connectEvm.mutateAsync({
290
+ wallet: {
291
+ ...wallet,
292
+ connector,
293
+ },
327
294
  });
328
295
  case ChainType.COSMOS:
329
296
  return connectCosmosWallet({ ...wallet, connector }, defaultChain, {
@@ -331,11 +298,19 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
331
298
  cosmosConnectedWallet: params.cosmosConnectedWallet,
332
299
  });
333
300
  case ChainType.SOLANA:
334
- return connectSolanaWallet(wallet, {
335
- connectSolana: params.connectSolana,
301
+ return params.connectSolana.mutateAsync({
302
+ wallet: {
303
+ ...wallet,
304
+ connector,
305
+ },
336
306
  });
337
307
  case ChainType.BTC:
338
- return connectBitcoinWallet(wallet);
308
+ return params.connectBitcoin.mutateAsync({
309
+ wallet: {
310
+ ...wallet,
311
+ connector,
312
+ },
313
+ });
339
314
  case ChainType.SUI:
340
315
  return params.connectSui.mutateAsync({
341
316
  wallet: {
@@ -371,10 +346,11 @@ const connectMultiChainWallet = async (params) => {
371
346
  const defaultChain = getDefaultChain(params.wallet, params.selectedChain, [chainConfig.chainType], params.findChain);
372
347
  try {
373
348
  const result = await connectByChainType(chainConfig.chainType, params.wallet, defaultChain, {
374
- connectEvmAsync: params.connectEvmAsync,
349
+ connectEvm: params.connectEvm,
375
350
  connectCosmos: params.connectCosmos,
376
351
  cosmosConnectedWallet: params.cosmosConnectedWallet,
377
352
  connectSolana: params.connectSolana,
353
+ connectBitcoin: params.connectBitcoin,
378
354
  connectSui: params.connectSui,
379
355
  });
380
356
  if (result) {
@@ -401,10 +377,11 @@ const connectSingleChainWallet = async (params) => {
401
377
  }
402
378
  const defaultChain = params.selectedChain;
403
379
  const result = await connectByChainType(params.wallet.type, params.wallet, defaultChain, {
404
- connectEvmAsync: params.connectEvmAsync,
380
+ connectEvm: params.connectEvm,
405
381
  connectCosmos: params.connectCosmos,
406
382
  cosmosConnectedWallet: params.cosmosConnectedWallet,
407
383
  connectSolana: params.connectSolana,
384
+ connectBitcoin: params.connectBitcoin,
408
385
  connectSui: params.connectSui,
409
386
  });
410
387
  return result
@@ -456,4 +433,107 @@ export const isProblematicConnector = (connector) => {
456
433
  // TODO: inconsistent connector ID behavior, investigate and debug Wagmi
457
434
  ["rabby", "io.rabby"].includes(connector.id));
458
435
  };
436
+ export function mergeWallets({ multiChainWallets, singleChainWallets, }) {
437
+ const mergedWallets = [...multiChainWallets, ...singleChainWallets];
438
+ // if mergedWallets includes single-chain wallets with duplicate connector IDs
439
+ // create a new multi-chain wallet with the same connector ID and add all supported networks
440
+ const unifiedWallets = mergedWallets.reduce((acc, wallet) => {
441
+ const existingWallet = acc.find((w) => w.connectorId === wallet.connectorId);
442
+ if (existingWallet && !wallet.isMultiChain) {
443
+ if (existingWallet.isMultiChain) {
444
+ // if existing wallet is already a multi-chain wallet
445
+ // we just need to add the new supported network
446
+ if (existingWallet.supportedNetworks.every((network) => network.chainType !== wallet.type)) {
447
+ // remove the existing wallet from the array
448
+ acc.splice(acc.indexOf(existingWallet), 1);
449
+ // add the new wallet with all supported networks
450
+ acc.push({
451
+ isMultiChain: true,
452
+ supportedNetworks: [
453
+ ...existingWallet.supportedNetworks,
454
+ {
455
+ chainType: wallet.type,
456
+ connector: wallet.connector,
457
+ },
458
+ ],
459
+ // add common properties
460
+ connectorId: existingWallet.connectorId,
461
+ name: existingWallet.name,
462
+ icon: existingWallet.icon,
463
+ windowFlag: existingWallet.windowFlag,
464
+ connectorName: existingWallet.connectorName,
465
+ canSwitchWallets: existingWallet.canSwitchWallets,
466
+ isInstalled: existingWallet.isInstalled,
467
+ skipInstallCheck: existingWallet.skipInstallCheck,
468
+ isMobile: existingWallet.isMobile,
469
+ rdns: existingWallet.rdns,
470
+ });
471
+ }
472
+ }
473
+ else {
474
+ // otherwise, if existing wallet is a single-chain wallet
475
+ // we need to create a new multi-chain wallet with the same connector ID
476
+ // remove the existing wallet from the array
477
+ acc.splice(acc.indexOf(existingWallet), 1);
478
+ // add the new wallet with all supported networks
479
+ if (existingWallet.type !== wallet.type) {
480
+ acc.push({
481
+ isMultiChain: true,
482
+ supportedNetworks: [
483
+ {
484
+ chainType: existingWallet.type,
485
+ connector: existingWallet.connector,
486
+ },
487
+ {
488
+ chainType: wallet.type,
489
+ connector: wallet.connector,
490
+ },
491
+ ],
492
+ // add common properties
493
+ connectorId: existingWallet.connectorId,
494
+ name: existingWallet.name,
495
+ icon: existingWallet.icon,
496
+ windowFlag: existingWallet.windowFlag,
497
+ connectorName: existingWallet.connectorName,
498
+ canSwitchWallets: existingWallet.canSwitchWallets,
499
+ isInstalled: existingWallet.isInstalled,
500
+ skipInstallCheck: existingWallet.skipInstallCheck,
501
+ isMobile: existingWallet.isMobile,
502
+ rdns: existingWallet.rdns,
503
+ });
504
+ }
505
+ }
506
+ }
507
+ else {
508
+ acc.push(wallet);
509
+ }
510
+ return acc;
511
+ }, []);
512
+ return unifiedWallets;
513
+ }
514
+ export const RecentWalletStorage = {
515
+ getKey(chainType) {
516
+ return `squid.recent-${chainType}-wallet-id`;
517
+ },
518
+ get(chainType) {
519
+ try {
520
+ return localStorage.getItem(this.getKey(chainType));
521
+ }
522
+ catch {
523
+ return null;
524
+ }
525
+ },
526
+ set(chainType, connectorId) {
527
+ try {
528
+ localStorage.setItem(this.getKey(chainType), connectorId);
529
+ }
530
+ catch { }
531
+ },
532
+ remove(chainType) {
533
+ try {
534
+ localStorage.removeItem(this.getKey(chainType));
535
+ }
536
+ catch { }
537
+ },
538
+ };
459
539
  //# sourceMappingURL=walletService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { StandardConnectFeature, StandardDisconnectFeature, StandardEventsFeature, WalletWithFeatures, type Wallet as StandardWallet } from "@wallet-standard/core";
2
+ import { ConnectorID } from "../../core/types/wallet";
3
+ type StandardWalletFeatures = Array<keyof StandardWallet["features"]>;
4
+ type StandardFeatures = StandardConnectFeature & StandardEventsFeature & Partial<StandardDisconnectFeature>;
5
+ export type StandardWalletWithCustomFeatures<AdditionalFeatures extends StandardWallet["features"]> = WalletWithFeatures<StandardFeatures & AdditionalFeatures>;
6
+ /**
7
+ * Validates that a given standard wallet has all the required standard features
8
+ * and additional custom features
9
+ */
10
+ export declare function isStandardWalletWithCustomFeatures<S extends StandardWallet>(wallet: StandardWallet, customFeatures: StandardWalletFeatures): wallet is S;
11
+ export type StandardWalletOverrides = Partial<{
12
+ icon: string;
13
+ connectorId: ConnectorID;
14
+ name: string;
15
+ }>;
16
+ export declare const standardWalletOverrides: Partial<Record<string, StandardWalletOverrides>>;
17
+ export {};