@0xsquid/react-hooks 1.0.27 → 1.0.29

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 (34) hide show
  1. package/dist/core/queries/queries-keys.d.ts +1 -1
  2. package/dist/core/queries/queries-keys.js +2 -2
  3. package/dist/core/queries/queries-keys.js.map +1 -1
  4. package/dist/hooks/chains/useSquidChains.d.ts +3 -0
  5. package/dist/hooks/chains/useSquidChains.js +5 -0
  6. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  7. package/dist/hooks/cosmos/useCosmos.d.ts +1 -0
  8. package/dist/hooks/cosmos/useCosmos.js +11 -7
  9. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  10. package/dist/hooks/index.d.ts +1 -1
  11. package/dist/hooks/index.js +1 -1
  12. package/dist/hooks/index.js.map +1 -1
  13. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +11 -0
  14. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +65 -0
  15. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -0
  16. package/dist/hooks/tokens/useSquidTokens.d.ts +2 -0
  17. package/dist/hooks/tokens/useSquidTokens.js +16 -1
  18. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  19. package/dist/hooks/tokens/useTokensWithBalance.js +2 -20
  20. package/dist/hooks/tokens/useTokensWithBalance.js.map +1 -1
  21. package/dist/hooks/wallet/useMultiChainWallet.js +5 -2
  22. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  23. package/dist/services/external/rpcService.d.ts +30 -1
  24. package/dist/services/external/rpcService.js +56 -0
  25. package/dist/services/external/rpcService.js.map +1 -1
  26. package/dist/services/internal/walletService.d.ts +27 -2
  27. package/dist/services/internal/walletService.js +67 -11
  28. package/dist/services/internal/walletService.js.map +1 -1
  29. package/dist/tests/walletService.test.js +44 -28
  30. package/dist/tests/walletService.test.js.map +1 -1
  31. package/package.json +2 -3
  32. package/dist/hooks/tokens/useAllTokensWithBalance.d.ts +0 -5
  33. package/dist/hooks/tokens/useAllTokensWithBalance.js +0 -62
  34. package/dist/hooks/tokens/useAllTokensWithBalance.js.map +0 -1
@@ -24,7 +24,7 @@ export declare const keys: ({ address, apiUrl, }: {
24
24
  balance: (chainId?: number | string, tokenAddress?: string, userAddress?: string, chainType?: ChainType) => (string | number | undefined)[];
25
25
  nativeBalanceBigNumber: (chainId?: number | string, tokenAddress?: string, chainType?: ChainType) => (string | number | undefined)[];
26
26
  tokensBalanceForChain: (chainType?: ChainType, chainId?: number | string) => (string | number | undefined)[];
27
- allTokensBalance: (direction: "from" | "to") => (string | undefined)[];
27
+ allTokensBalance: (chainType: ChainType) => (string | undefined)[];
28
28
  allTokensPriceUSDAndBalance: () => (string | undefined)[];
29
29
  transactions: () => (string | undefined)[];
30
30
  transaction: (swapDirection: SwapRoute | undefined, price: string | undefined, slippage: SlippageOption | undefined, infiniteApproval: boolean | undefined, getGasOnDestination: boolean | undefined, expressEnabled: boolean | undefined, sourceUserAddress: string | undefined) => (string | number | boolean | undefined)[];
@@ -58,10 +58,10 @@ export const keys = ({ address, apiUrl, }) => ({
58
58
  chainType,
59
59
  "tokensBalanceForChain",
60
60
  ],
61
- allTokensBalance: (direction) => [
61
+ allTokensBalance: (chainType) => [
62
62
  ...keys({ apiUrl, address }).balances(),
63
63
  address,
64
- direction,
64
+ chainType,
65
65
  "allTokensBalance",
66
66
  ],
67
67
  allTokensPriceUSDAndBalance: () => [
@@ -1 +1 @@
1
- {"version":3,"file":"queries-keys.js","sourceRoot":"","sources":["../../../src/core/queries/queries-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries-keys.js","sourceRoot":"","sources":["../../../src/core/queries/queries-keys.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { CosmosChain, EvmChain } from "@0xsquid/squid-types";
1
2
  export declare const useSquidChains: () => {
2
3
  supportedSourceChains: import("@0xsquid/squid-types").ChainData[];
3
4
  supportedDestinationChains: import("@0xsquid/squid-types").ChainData[];
@@ -9,4 +10,6 @@ export declare const useSquidChains: () => {
9
10
  threshold: number;
10
11
  keys: string[];
11
12
  };
13
+ cosmosChains: CosmosChain[];
14
+ evmChains: EvmChain[];
12
15
  };
@@ -1,3 +1,4 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
1
2
  import { useQuery } from "@tanstack/react-query";
2
3
  import { useMemo } from "react";
3
4
  import { keys } from "../../core/queries/queries-keys";
@@ -19,6 +20,8 @@ export const useSquidChains = () => {
19
20
  // staleTime: 1000 * 60 * 60 * 24,
20
21
  });
21
22
  const chains = useMemo(() => supportedChains.data ?? [], [supportedChains.data]);
23
+ const cosmosChains = useMemo(() => supportedChains.data?.filter((c) => c.chainType === ChainType.COSMOS) ?? [], [supportedChains.data]);
24
+ const evmChains = useMemo(() => supportedChains.data?.filter((c) => c.chainType === ChainType.EVM) ?? [], [supportedChains.data]);
22
25
  const supportedSourceChains = useMemo(() => {
23
26
  if (config.availableChains &&
24
27
  config.availableChains?.source &&
@@ -40,6 +43,8 @@ export const useSquidChains = () => {
40
43
  supportedDestinationChains,
41
44
  chains,
42
45
  fuseSearchOptions,
46
+ cosmosChains,
47
+ evmChains,
43
48
  };
44
49
  };
45
50
  //# sourceMappingURL=useSquidChains.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSquidChains.js","sourceRoot":"","sources":["../../../src/hooks/chains/useSquidChains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1C,MAAM,iBAAiB,GAAG;QACxB,eAAe,EAAE,KAAK;QACtB,YAAY,EAAE,KAAK;QACnB,kBAAkB,EAAE,CAAC;QACrB,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,uBAAuB,CAAC;KAC5D,CAAC;IAEF,MAAM,eAAe,GAAG,QAAQ,CAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EACxC,GAAG,EAAE;QACH,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC,EACD;QACE,OAAO,EAAE,KAAK,KAAK,SAAS;QAC5B,kCAAkC;QAClC,kCAAkC;KACnC,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,EAChC,CAAC,eAAe,CAAC,IAAI,CAAC,CACvB,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,IACE,MAAM,CAAC,eAAe;YACtB,MAAM,CAAC,eAAe,EAAE,MAAM;YAC9B,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EACxC;YACA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CACpD,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAErC,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9C,IACE,MAAM,CAAC,eAAe;YACtB,MAAM,CAAC,eAAe,EAAE,WAAW;YACnC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC7C;YACA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CACzD,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAErC,OAAO;QACL,qBAAqB;QACrB,0BAA0B;QAC1B,MAAM;QACN,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useSquidChains.js","sourceRoot":"","sources":["../../../src/hooks/chains/useSquidChains.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare const useCosmos: () => {
8
8
  chain: ChainData;
9
9
  wallet?: Wallet | undefined;
10
10
  direction?: "from" | "to" | undefined;
11
+ approveAllChains?: boolean | undefined;
11
12
  }, unknown>;
12
13
  cosmosChainId: string | undefined;
13
14
  setCosmosChainId: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
@@ -5,7 +5,8 @@ import { useCallback, useEffect, useMemo, useState } from "react";
5
5
  import { wallets } from "../../core/constants";
6
6
  import { useSwapRoutePersistStore } from "../../hooks/store/useSquidStore";
7
7
  import { useSwap } from "../../hooks/swap/useSwap";
8
- import { accessProperty, getCosmosChainInfosObject, getDescendantProp, } from "../../services/internal/walletService";
8
+ import { accessProperty, getCosmosChainInfosObject, getCosmosKey, getDescendantProp, } from "../../services/internal/walletService";
9
+ import { useSquidChains } from "../chains/useSquidChains";
9
10
  export const useCosmos = () => {
10
11
  const [cosmosAddress, setCosmosAddress] = useState();
11
12
  const [cosmosSigner, setCosmosSigner] = useState(undefined);
@@ -15,6 +16,7 @@ export const useCosmos = () => {
15
16
  const [isInstalled, setIsInstalled] = useState(false);
16
17
  const { swapRoute } = useSwapRoutePersistStore();
17
18
  const { fromChain } = useSwap();
19
+ const { cosmosChains } = useSquidChains();
18
20
  const keplrTypeWallet = useMemo(() => {
19
21
  if (window && cosmosConnectedWallet?.windowFlag) {
20
22
  return accessProperty(window, cosmosConnectedWallet.windowFlag);
@@ -31,10 +33,7 @@ export const useCosmos = () => {
31
33
  }
32
34
  }, [fromChain?.chainId, fromChain?.chainType, keplrTypeWallet]);
33
35
  const getCosmosAddressForChain = useCallback(async (chainId) => {
34
- if (!chainId || !keplrTypeWallet)
35
- return undefined;
36
- const key = await keplrTypeWallet?.getKey(chainId);
37
- return key.bech32Address;
36
+ return getCosmosKey(chainId, keplrTypeWallet);
38
37
  }, [keplrTypeWallet]);
39
38
  const getCosmosWalletInfos = useMutation(async ({ chainId, cosmosWalletObject, }) => {
40
39
  const walletObject = cosmosWalletObject ?? keplrTypeWallet;
@@ -92,7 +91,7 @@ export const useCosmos = () => {
92
91
  }
93
92
  return cwo;
94
93
  };
95
- const connectCosmos = useMutation(async ({ chain, wallet, direction, }) => {
94
+ const connectCosmos = useMutation(async ({ chain, wallet, direction, approveAllChains = true, }) => {
96
95
  const chainInfos = getCosmosChainInfosObject(chain);
97
96
  const selectedWallet = wallet ??
98
97
  cosmosConnectedWallet ??
@@ -111,7 +110,12 @@ export const useCosmos = () => {
111
110
  await installSnap();
112
111
  }
113
112
  else {
114
- await cosmosWalletObject.enable(chainInfos.chainId.toString());
113
+ if (approveAllChains) {
114
+ await cosmosWalletObject.enable(cosmosChains.map((c) => c.chainId));
115
+ }
116
+ else {
117
+ await cosmosWalletObject.enable([chainInfos.chainId]);
118
+ }
115
119
  }
116
120
  const address = await getAddress({
117
121
  chainId: chain.chainId.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"useCosmos.js","sourceRoot":"","sources":["../../../src/hooks/cosmos/useCosmos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCosmos.js","sourceRoot":"","sources":["../../../src/hooks/cosmos/useCosmos.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export { useCosmosForChain } from "./cosmos/useCosmosForChain";
4
4
  export { useKeyboardNavigation } from "./navigation/useKeyboardNavigation";
5
5
  export { usePersistStore, useSquidStore, useSwapRoutePersistStore, } from "./store/useSquidStore";
6
6
  export { useSwap } from "./swap/useSwap";
7
- export { useAllTokensWithBalance } from "./tokens/useAllTokensWithBalance";
7
+ export { useAllTokensWithBalanceForChainType } from "./tokens/useAllTokensWithBalanceForChainType";
8
8
  export { useCosmosBalance, useEvmBalance, useNativeTokenBalanceDestinationChain, useNativeTokenBalanceFromChain, } from "./tokens/useBalance";
9
9
  export { useMultiChainBalance } from "./tokens/useMultiChainBalance";
10
10
  export { useSquidTokens } from "./tokens/useSquidTokens";
@@ -4,7 +4,7 @@ export { useCosmosForChain } from "./cosmos/useCosmosForChain";
4
4
  export { useKeyboardNavigation } from "./navigation/useKeyboardNavigation";
5
5
  export { usePersistStore, useSquidStore, useSwapRoutePersistStore, } from "./store/useSquidStore";
6
6
  export { useSwap } from "./swap/useSwap";
7
- export { useAllTokensWithBalance } from "./tokens/useAllTokensWithBalance";
7
+ export { useAllTokensWithBalanceForChainType } from "./tokens/useAllTokensWithBalanceForChainType";
8
8
  export { useCosmosBalance, useEvmBalance, useNativeTokenBalanceDestinationChain, useNativeTokenBalanceFromChain, } from "./tokens/useBalance";
9
9
  export { useMultiChainBalance } from "./tokens/useMultiChainBalance";
10
10
  export { useSquidTokens } from "./tokens/useSquidTokens";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,aAAa,EACb,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,aAAa,EACb,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
2
+ import { TokenWithBalance } from "../../core/types/tokens";
3
+ export declare const useAllTokensWithBalanceForChainType: ({ chainType, address, enabled, }: {
4
+ chainType: ChainType;
5
+ address?: string | undefined;
6
+ enabled?: boolean | undefined;
7
+ }) => {
8
+ tokensWithBalanceQuery: import("@tanstack/react-query").UseQueryResult<TokenWithBalance[], unknown>;
9
+ tokens: TokenWithBalance[];
10
+ refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenWithBalance[], unknown>>;
11
+ };
@@ -0,0 +1,65 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { useMemo } from "react";
4
+ import { useCosmosContext } from "../../core";
5
+ import { keys } from "../../core/queries/queries-keys";
6
+ import { getAllKeysForSupportedCosmosChains } from "../../services";
7
+ import { getAllCosmosBalancesForAddress, getAllEvmTokensBalance, } from "../../services/external/rpcService";
8
+ import { useSquidChains } from "../chains/useSquidChains";
9
+ import { useSquidStore } from "../store/useSquidStore";
10
+ import { useSquidTokens } from "./useSquidTokens";
11
+ export const useAllTokensWithBalanceForChainType = ({ chainType, address, enabled, }) => {
12
+ const { config } = useSquidStore();
13
+ const { cosmosChains } = useSquidChains();
14
+ const { evmTokens, cosmosTokens } = useSquidTokens();
15
+ const { keplrTypeWallet } = useCosmosContext();
16
+ const tokensWithZeroBalance = useMemo(() => {
17
+ return {
18
+ evm: evmTokens.map((t) => ({ ...t, balance: "0" })),
19
+ cosmos: cosmosTokens.map((t) => ({ ...t, balance: "0" })),
20
+ };
21
+ }, [evmTokens, cosmosTokens]);
22
+ const tokensWithBalanceQuery = useQuery(keys({
23
+ apiUrl: config.apiUrl,
24
+ address,
25
+ }).allTokensBalance(chainType), async () => {
26
+ if (chainType === ChainType.EVM) {
27
+ const evmTokensBalances = await getAllEvmTokensBalance(evmTokens, address // Safe because the query is enabled only if address is present
28
+ );
29
+ return [...evmTokensBalances, ...tokensWithZeroBalance.cosmos];
30
+ }
31
+ if (chainType === ChainType.COSMOS) {
32
+ // We'll need to call getKey for all cosmos chains
33
+ const addresses = await getAllKeysForSupportedCosmosChains(cosmosChains.map((c) => c.chainId), keplrTypeWallet);
34
+ const cosmosBalances = await getAllCosmosBalancesForAddress({
35
+ addresses,
36
+ cosmosChains,
37
+ cosmosTokens,
38
+ });
39
+ return [...tokensWithZeroBalance.evm, ...cosmosBalances];
40
+ }
41
+ return [...tokensWithZeroBalance.evm, ...tokensWithZeroBalance.cosmos];
42
+ }, {
43
+ enabled: enabled && !!address,
44
+ });
45
+ /**
46
+ * Map tokens with balanced, based on chainType
47
+ * Can handle future chain types (solana, etc.)
48
+ */
49
+ const tokens = useMemo(() => {
50
+ return (tokensWithBalanceQuery.data ?? [
51
+ ...tokensWithZeroBalance.evm,
52
+ ...tokensWithZeroBalance.cosmos,
53
+ ]);
54
+ }, [
55
+ tokensWithBalanceQuery.data,
56
+ tokensWithZeroBalance.evm,
57
+ tokensWithZeroBalance.cosmos,
58
+ ]);
59
+ return {
60
+ tokensWithBalanceQuery,
61
+ tokens,
62
+ refetch: tokensWithBalanceQuery.refetch,
63
+ };
64
+ };
65
+ //# sourceMappingURL=useAllTokensWithBalanceForChainType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAllTokensWithBalanceForChainType.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalanceForChainType.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,6 @@ export declare const useSquidTokens: () => {
12
12
  };
13
13
  forceSquidInfoRefetch: <TPageData>(options?: (import("@tanstack/query-core").RefetchOptions & import("@tanstack/query-core").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/query-core").QueryObserverResult<import("@0xsquid/sdk").Squid | undefined, unknown>>;
14
14
  squidInfoQuery: import("@tanstack/react-query").UseQueryResult<import("@0xsquid/sdk").Squid | undefined, unknown>;
15
+ evmTokens: import("@0xsquid/squid-types").Token[];
16
+ cosmosTokens: import("@0xsquid/squid-types").Token[];
15
17
  };
@@ -1,8 +1,10 @@
1
1
  import { useMemo } from "react";
2
2
  import { useSquidStore } from "../../hooks/store/useSquidStore";
3
+ import { useSquidChains } from "../chains/useSquidChains";
3
4
  import { useSquid } from "../squid/useSquid";
4
5
  export const useSquidTokens = () => {
5
6
  const { config } = useSquidStore();
7
+ const { chains } = useSquidChains();
6
8
  const { tokens: allSquidTokens, forceSquidInfoRefetch, squidInfoQuery, } = useSquid();
7
9
  const fuseSearchOptions = {
8
10
  isCaseSensitive: false,
@@ -32,6 +34,19 @@ export const useSquidTokens = () => {
32
34
  });
33
35
  return filteredTokens ?? [];
34
36
  }, [allSquidTokens]);
35
- return { tokens, fuseSearchOptions, forceSquidInfoRefetch, squidInfoQuery };
37
+ const evmTokens = useMemo(() => {
38
+ return tokens.filter((t) => chains?.find((c) => c.chainId === t.chainId)?.chainType === "evm");
39
+ }, [chains, tokens]);
40
+ const cosmosTokens = useMemo(() => {
41
+ return tokens.filter((t) => chains?.find((c) => c.chainId === t.chainId)?.chainType === "cosmos");
42
+ }, [chains, tokens]);
43
+ return {
44
+ tokens,
45
+ fuseSearchOptions,
46
+ forceSquidInfoRefetch,
47
+ squidInfoQuery,
48
+ evmTokens,
49
+ cosmosTokens,
50
+ };
36
51
  };
37
52
  //# sourceMappingURL=useSquidTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EACJ,MAAM,EAAE,cAAc,EACtB,qBAAqB,EACrB,cAAc,GACf,GAAG,QAAQ,EAAE,CAAC;IAEf,MAAM,iBAAiB,GAAG;QACxB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,IAAI;QAEpB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,EAAE,oBAAoB;aAChC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG,EAAE,sCAAsC;aACpD;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzE,8CAA8C;QAC9C,oCAAoC;QACpC,MAAM,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnE,MAAM,aAAa,GACjB,KAAK;gBACL,IAAI,CAAC,SAAS,CACZ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE,CAAC;YAEJ,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,CACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CACtB,CAAC;YAEF,OAAO,aAAa,IAAI,CAAC,oBAAoB,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,IAAI,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC;AAC9E,CAAC,CAAC"}
1
+ {"version":3,"file":"useSquidTokens.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useSquidTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,EACJ,MAAM,EAAE,cAAc,EACtB,qBAAqB,EACrB,cAAc,GACf,GAAG,QAAQ,EAAE,CAAC;IAEf,MAAM,iBAAiB,GAAG;QACxB,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,IAAI;QAEpB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,EAAE,oBAAoB;aAChC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG,EAAE,sCAAsC;aACpD;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEzE,8CAA8C;QAC9C,oCAAoC;QACpC,MAAM,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnE,MAAM,aAAa,GACjB,KAAK;gBACL,IAAI,CAAC,SAAS,CACZ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE,CAAC;YAEJ,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,CACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CACtB,CAAC;YAEF,OAAO,aAAa,IAAI,CAAC,oBAAoB,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,IAAI,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,CACzE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,QAAQ,CACvE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,MAAM;QACN,iBAAiB;QACjB,qBAAqB;QACrB,cAAc;QACd,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
@@ -1,30 +1,12 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
- import { StargateClient } from "@cosmjs/stargate";
3
2
  import { useQuery } from "@tanstack/react-query";
4
- import { formatUnits } from "ethers/lib/utils";
5
3
  import { useCosmosContext } from "../../core/providers/CosmosProvider";
6
4
  import { keys } from "../../core/queries/queries-keys";
7
5
  import { useCosmosForChain } from "../../hooks/cosmos/useCosmosForChain";
8
6
  import { useSquidStore } from "../../hooks/store/useSquidStore";
9
7
  import { useSquidTokens } from "../../hooks/tokens/useSquidTokens";
10
- import { getAllEvmTokensBalance, getWorkingCosmosRpcUrl, } from "../../services/external/rpcService";
8
+ import { getAllCosmosBalancesForChain, getAllEvmTokensBalance, getWorkingCosmosRpcUrl, } from "../../services/external/rpcService";
11
9
  import { SECRET_CHAIN_ID, fetchAllSecretBalances, } from "../../services/external/secretService";
12
- // TODO: Move this to a service
13
- const getAllCosmosBalances = async ({ rpc, address, tokens, }) => {
14
- const client = await StargateClient.connect(rpc);
15
- const balanceAsCoin = await client.getAllBalances(address);
16
- // Need to map tokens and put balance, based on denom
17
- const tokensWithBalance = tokens.map((t) => {
18
- const balanceCoin = balanceAsCoin?.find((c) => c.denom === t.address);
19
- return {
20
- ...t,
21
- balance: balanceCoin
22
- ? formatUnits(balanceCoin?.amount, t?.decimals)
23
- : "0",
24
- };
25
- });
26
- return tokensWithBalance;
27
- };
28
10
  export const useAllTokensWithBalanceForChain = (chainData, address = "") => {
29
11
  const { config } = useSquidStore();
30
12
  const { tokens: squidTokens } = useSquidTokens();
@@ -55,7 +37,7 @@ export const useAllTokensWithBalanceForChain = (chainData, address = "") => {
55
37
  return secretTokens;
56
38
  }
57
39
  const rpc = await getWorkingCosmosRpcUrl(chainData);
58
- const balances = await getAllCosmosBalances({
40
+ const balances = await getAllCosmosBalancesForChain({
59
41
  address,
60
42
  rpc,
61
43
  tokens,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensWithBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensWithBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokensWithBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensWithBalance.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { useMemo } from "react";
6
6
  import { ChainNotConfiguredError, SwitchChainError, useAccount, useNetwork, useSwitchNetwork, } from "wagmi";
7
7
  import { useCosmosContext } from "../../core/providers/CosmosProvider";
8
8
  import { useCosmosForChain } from "../../hooks/cosmos/useCosmosForChain";
9
- import { formatWalletAddress } from "../../services/internal/walletService";
9
+ import { formatHash } from "../../services/internal/walletService";
10
10
  export const useMultiChainWallet = (chainToCompare) => {
11
11
  const { chain: currentEvmChain } = useNetwork();
12
12
  const { isConnected: isEvmConnected, connector, address } = useAccount();
@@ -28,7 +28,10 @@ export const useMultiChainWallet = (chainToCompare) => {
28
28
  return address;
29
29
  }
30
30
  }, [address, chainToCompare?.chainType, cosmosAddress]);
31
- const parsedAddress = useMemo(() => formatWalletAddress(connectedAddress), [connectedAddress]);
31
+ const parsedAddress = useMemo(() => formatHash({
32
+ hash: connectedAddress,
33
+ chainType: chainToCompare?.chainType,
34
+ }), [connectedAddress, chainToCompare?.chainType]);
32
35
  /**
33
36
  * Change current network for desired chain
34
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiChainWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useMultiChainWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMultiChainWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useMultiChainWallet.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,33 @@
1
- import type { ChainData, Token } from "@0xsquid/squid-types";
1
+ import type { ChainData, CosmosChain, Token } from "@0xsquid/squid-types";
2
2
  import type { TokenWithBalance } from "../../core/types/tokens";
3
3
  export declare const getAllEvmTokensBalance: (evmTokens: Token[], userAddress: string) => Promise<TokenWithBalance[]>;
4
4
  export declare const getWorkingCosmosRpcUrl: (chainData: ChainData) => Promise<string>;
5
+ /**
6
+ * Fetches all Cosmos balances for a given address and RPC.
7
+ *
8
+ * @param {string} params.rpc - RPC URL to fetch balances from.
9
+ * @param {string} params.address - user address to fetch balances for.
10
+ * @param {Token[]} params.tokens - array of Cosmos tokens.
11
+ * @returns {Promise<TokenWithBalance[]>} promise that resolves to an array of tokens with their balances.
12
+ */
13
+ export declare const getAllCosmosBalancesForChain: ({ rpc, address, tokens, }: {
14
+ rpc: string;
15
+ tokens: Token[];
16
+ address: string;
17
+ }) => Promise<TokenWithBalance[]>;
18
+ /**
19
+ * Fetches all Cosmos balances for a given address and RPC.
20
+ *
21
+ * @param {object} params.addresses user addresses per cosmos network
22
+ * @param {Token[]} params.cosmosTokens
23
+ * @param {CosmosChain[]} params.cosmosChains
24
+ * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
25
+ */
26
+ export declare const getAllCosmosBalancesForAddress: ({ addresses, cosmosTokens, cosmosChains, }: {
27
+ addresses: {
28
+ chainId: string;
29
+ address: string;
30
+ }[];
31
+ cosmosTokens: Token[];
32
+ cosmosChains: CosmosChain[];
33
+ }) => Promise<TokenWithBalance[]>;
@@ -1,6 +1,7 @@
1
1
  import { StargateClient } from "@cosmjs/stargate";
2
2
  import { fetchBalance } from "@wagmi/core";
3
3
  import { constants, utils } from "ethers";
4
+ import { formatUnits } from "ethers/lib/utils.js";
4
5
  import { readContracts } from "wagmi";
5
6
  import { ERC20__factory } from "../../contracts/typechain/factories/ERC20__factory";
6
7
  import { nativeEvmTokenAddress } from "../../core/constants";
@@ -142,4 +143,59 @@ export const getWorkingCosmosRpcUrl = async (chainData) => {
142
143
  // In the case that all rpcs are invalid, return the default rpc anyway
143
144
  return chainData.rpc;
144
145
  };
146
+ // const deriveCosmosAddress = (chainPrefix: string, address: string): string => {
147
+ // return toBech32(chainPrefix, fromBech32(address).data);
148
+ // };
149
+ /**
150
+ * Fetches all Cosmos balances for a given address and RPC.
151
+ *
152
+ * @param {string} params.rpc - RPC URL to fetch balances from.
153
+ * @param {string} params.address - user address to fetch balances for.
154
+ * @param {Token[]} params.tokens - array of Cosmos tokens.
155
+ * @returns {Promise<TokenWithBalance[]>} promise that resolves to an array of tokens with their balances.
156
+ */
157
+ export const getAllCosmosBalancesForChain = async ({ rpc, address, tokens, }) => {
158
+ const client = await StargateClient.connect(rpc);
159
+ const balanceAsCoin = await client.getAllBalances(address);
160
+ // Need to map tokens and put balance, based on denom
161
+ const tokensWithBalance = tokens.map((t) => {
162
+ const balanceCoin = balanceAsCoin?.find((c) => c.denom === t.address);
163
+ return {
164
+ ...t,
165
+ balance: balanceCoin
166
+ ? formatUnits(balanceCoin?.amount, t?.decimals)
167
+ : "0",
168
+ };
169
+ });
170
+ return tokensWithBalance;
171
+ };
172
+ /**
173
+ * Fetches all Cosmos balances for a given address and RPC.
174
+ *
175
+ * @param {object} params.addresses user addresses per cosmos network
176
+ * @param {Token[]} params.cosmosTokens
177
+ * @param {CosmosChain[]} params.cosmosChains
178
+ * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
179
+ */
180
+ export const getAllCosmosBalancesForAddress = async ({ addresses, cosmosTokens, cosmosChains, }) => {
181
+ const tokensWithBalance = [];
182
+ for (const cosmosChain of cosmosChains) {
183
+ try {
184
+ const userAddress = addresses.find((a) => a.chainId === cosmosChain.chainId)?.address;
185
+ const rpc = await getWorkingCosmosRpcUrl(cosmosChain);
186
+ const balances = await getAllCosmosBalancesForChain({
187
+ rpc,
188
+ address: userAddress ?? "",
189
+ tokens: cosmosTokens.filter((t) => t.chainId === cosmosChain.chainId),
190
+ });
191
+ tokensWithBalance.push(...balances);
192
+ }
193
+ catch (error) {
194
+ tokensWithBalance.push(...cosmosTokens
195
+ .filter((t) => t.chainId === cosmosChain.chainId)
196
+ .map((t) => ({ ...t, balance: "0" })));
197
+ }
198
+ }
199
+ return tokensWithBalance;
200
+ };
145
201
  //# sourceMappingURL=rpcService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/external/rpcService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/external/rpcService.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import type { ChainData } from "@0xsquid/squid-types";
2
- import type { ChainInfo } from "@keplr-wallet/types";
2
+ import { ChainType } from "@0xsquid/squid-types";
3
+ import type { ChainInfo, Keplr } from "@keplr-wallet/types";
3
4
  import type { Chain } from "wagmi";
4
5
  import type { ConnectorID, Wallet } from "../../core/types/wallet";
5
- export declare const formatWalletAddress: (walletAddress: string | undefined, trimLength?: number) => string;
6
+ type FormatHashParams = {
7
+ hash?: string;
8
+ chainType?: ChainType;
9
+ };
10
+ export declare const formatHash: ({ chainType, hash }: FormatHashParams) => string;
6
11
  export declare const isCosmosAddressValid: (chainPrefix: string, address: string) => boolean;
7
12
  export declare const isWalletAddressValid: (chainData?: ChainData, address?: string) => boolean;
8
13
  export declare const getWalletByConnectorID: (connectorID: ConnectorID) => Wallet | undefined;
@@ -24,5 +29,25 @@ export declare const formatChainsForWagmi: (chains: ChainData[]) => Chain[];
24
29
  * e.g. "xfi.keplr" will return window.xfi.keplr
25
30
  */
26
31
  export declare const accessProperty: (object: Record<string, any>, path: string) => any;
32
+ /**
33
+ * Get the cosmos address for a given chain
34
+ * This might pop up a keplr modal to approve the chain
35
+ * @param chainId
36
+ * @param keplrTypeWallet
37
+ * @returns Cosmos address
38
+ */
39
+ export declare const getCosmosKey: (chainId?: string, keplrTypeWallet?: Keplr) => Promise<string | undefined>;
40
+ /**
41
+ * Get the cosmos address for a given chain
42
+ * This might pop up a keplr modal to approve the chain
43
+ * @param chainId
44
+ * @param keplrTypeWallet
45
+ * @returns Cosmos address
46
+ */
47
+ export declare const getAllKeysForSupportedCosmosChains: (chainIds: string[], keplrTypeWallet: Keplr | undefined) => Promise<{
48
+ address: string;
49
+ chainId: string;
50
+ }[]>;
27
51
  export declare const metamaskIcon: string | undefined;
28
52
  export declare const EVMnetworkNotSupportedErrorCode = 4902;
53
+ export {};
@@ -3,13 +3,38 @@ import { fromBech32 } from "@cosmjs/encoding";
3
3
  import { ethers } from "ethers";
4
4
  import getProperty from "lodash/get";
5
5
  import { walletStoreLinks, wallets } from "../../core/constants";
6
- export const formatWalletAddress = (walletAddress, trimLength = 5) => {
7
- return walletAddress
8
- ? walletAddress?.length > trimLength
9
- ? `${walletAddress.slice(0, trimLength)}...${walletAddress.slice(walletAddress.length - (trimLength - 2), // -2 here because the start of wallet is 0x
10
- walletAddress.length)}`.toLowerCase()
11
- : walletAddress
12
- : "";
6
+ const chainTypeToTrimLength = {
7
+ // 0x1234...5678
8
+ [ChainType.EVM]: {
9
+ start: 6,
10
+ end: 4,
11
+ },
12
+ // osmo1234...5678
13
+ [ChainType.COSMOS]: {
14
+ start: 8,
15
+ end: 4,
16
+ },
17
+ };
18
+ export const formatHash = ({ chainType, hash }) => {
19
+ if (!hash)
20
+ return "";
21
+ let chainTypeFormat = chainType;
22
+ if (!chainType) {
23
+ if (hash?.startsWith("0x")) {
24
+ chainTypeFormat = ChainType.EVM;
25
+ }
26
+ else {
27
+ chainTypeFormat = ChainType.COSMOS;
28
+ }
29
+ }
30
+ const trimLengthStart = chainTypeToTrimLength[chainTypeFormat].start;
31
+ const trimLengthEnd = chainTypeToTrimLength[chainTypeFormat].end;
32
+ // return the same hash if its length is less than the trim length
33
+ if (hash.length <= trimLengthStart + trimLengthEnd)
34
+ return hash;
35
+ return (hash.slice(0, trimLengthStart) +
36
+ "..." +
37
+ hash.slice(hash.length - trimLengthEnd, hash.length));
13
38
  };
14
39
  export const isCosmosAddressValid = (chainPrefix, address) => {
15
40
  try {
@@ -44,10 +69,6 @@ export const getCosmosChainInfosObject = (chain) => {
44
69
  chainName: cosmosChain.networkName,
45
70
  chainId: cosmosChain.chainId.toString(),
46
71
  rpc: cosmosChain.rpc.split("?chain")[0],
47
- feeCurrencies: cosmosChain.feeCurrencies.map((c) => ({
48
- ...c,
49
- gasPriceStep: cosmosChain.gasPriceStep,
50
- })),
51
72
  };
52
73
  };
53
74
  export const isWalletExtensionInstalled = (wallet) => {
@@ -118,6 +139,41 @@ export const accessProperty = (object, path) => {
118
139
  }
119
140
  return value;
120
141
  };
142
+ /**
143
+ * Get the cosmos address for a given chain
144
+ * This might pop up a keplr modal to approve the chain
145
+ * @param chainId
146
+ * @param keplrTypeWallet
147
+ * @returns Cosmos address
148
+ */
149
+ export const getCosmosKey = async (chainId, keplrTypeWallet) => {
150
+ if (!chainId || !keplrTypeWallet)
151
+ return undefined;
152
+ const key = await keplrTypeWallet?.getKey(chainId);
153
+ return key.bech32Address;
154
+ };
155
+ /**
156
+ * Get the cosmos address for a given chain
157
+ * This might pop up a keplr modal to approve the chain
158
+ * @param chainId
159
+ * @param keplrTypeWallet
160
+ * @returns Cosmos address
161
+ */
162
+ export const getAllKeysForSupportedCosmosChains = async (chainIds, keplrTypeWallet) => {
163
+ const addresses = [];
164
+ if (!keplrTypeWallet)
165
+ return addresses;
166
+ for (const chainId of chainIds) {
167
+ const keys = await keplrTypeWallet.getKeysSettled([chainId]);
168
+ keys.forEach((key) => {
169
+ addresses.push({
170
+ address: key.value.bech32Address,
171
+ chainId,
172
+ });
173
+ });
174
+ }
175
+ return addresses;
176
+ };
121
177
  export const metamaskIcon = getWalletByConnectorID("metaMask")?.icon;
122
178
  export const EVMnetworkNotSupportedErrorCode = 4902;
123
179
  //# 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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"}
@@ -1,4 +1,5 @@
1
- import { formatWalletAddress, isWalletAddressValid, } from "../services/internal/walletService";
1
+ import { ChainType } from "@0xsquid/squid-types";
2
+ import { formatHash, isWalletAddressValid, } from "../services/internal/walletService";
2
3
  import { fetchSquidData } from "./fetchSquidData";
3
4
  let squid = undefined;
4
5
  let CHAINS = {};
@@ -35,39 +36,54 @@ describe("walletService", () => {
35
36
  )).toBe(false);
36
37
  });
37
38
  });
38
- describe("formatWalletAddress", () => {
39
+ describe("formatHash", () => {
39
40
  test("formats EVM addresses correctly", () => {
40
- expect(formatWalletAddress("0x6f1c3f578ef3f0d2cf9b1ec712d9654f143ea4d1", 5)).toBe("0x6f1...4d1");
41
- expect(formatWalletAddress("0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d", 8)).toBe("0xbc4ca0...36f13d");
42
- expect(formatWalletAddress("0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664", 3)).toBe("0xa...4");
41
+ expect(formatHash({
42
+ hash: "0x6f1c3f578ef3f0d2cf9b1ec712d9654f143ea4d1",
43
+ chainType: ChainType.EVM,
44
+ })).toBe("0x6f1c...a4d1");
45
+ expect(formatHash({
46
+ hash: "0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
47
+ chainType: ChainType.EVM,
48
+ })).toBe("0xbc4c...f13d");
49
+ expect(formatHash({
50
+ hash: "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",
51
+ chainType: ChainType.EVM,
52
+ })).toBe("0xA7D7...C664");
53
+ expect(formatHash({ hash: "0x123456789", chainType: ChainType.EVM })).toBe("0x1234...6789");
43
54
  });
44
55
  test("formats Cosmos addresses correctly", () => {
45
- expect(formatWalletAddress("noble1awrua7e2kj69d7vn5qt5tccrhavmj9xa6up0eq", 5)).toBe("noble...0eq");
46
- expect(formatWalletAddress("noble1qe8uuf5x69c526h4nzxwv4ltftr73v7qgk33qz", 8)).toBe("noble1qe...gk33qz");
47
- expect(formatWalletAddress("noble1zttnm2cl60m5ffsrfeqtzkmtvepl4hwnsqg9fd", 3)).toBe("nob...d");
56
+ expect(formatHash({
57
+ hash: "osmo14lzvt4gdwh2q4ymyjqma0p4j4aykpn929zx75y",
58
+ chainType: ChainType.COSMOS,
59
+ })).toBe("osmo14lz...x75y");
60
+ expect(formatHash({
61
+ hash: "neutron1clpqr4nrk4khgkxj78fcwwh6dl3uw4ep35p7l8",
62
+ chainType: ChainType.COSMOS,
63
+ })).toBe("neutron1...p7l8");
64
+ expect(formatHash({
65
+ hash: "inj1lsuqpgm8kgwpq96ewyew26xnfwyn3lh3y7knzj",
66
+ chainType: ChainType.COSMOS,
67
+ })).toBe("inj1lsuq...knzj");
68
+ expect(formatHash({ hash: "neutron123456", chainType: ChainType.COSMOS })).toBe("neutron1...3456");
48
69
  });
49
- test("returns empty string when address is undefined or empty string", () => {
50
- expect(formatWalletAddress(undefined)).toBe("");
51
- expect(formatWalletAddress("")).toBe("");
52
- expect(formatWalletAddress("", 0)).toBe("");
53
- expect(formatWalletAddress(undefined, 0)).toBe("");
70
+ test("returns empty string when params are missing", () => {
71
+ expect(formatHash({ hash: undefined })).toBe("");
72
+ expect(formatHash({ hash: "" })).toBe("");
73
+ expect(formatHash({ chainType: ChainType.EVM })).toBe("");
74
+ expect(formatHash({ chainType: ChainType.COSMOS })).toBe("");
54
75
  });
55
- test("handles trim length smaller than or equal to 2", () => {
56
- expect(formatWalletAddress("0x123", 1)).toBe("0...");
57
- expect(formatWalletAddress("0x123", 2)).toBe("0x...");
76
+ test("returns the same hash when its length is less than the trim length", () => {
77
+ expect(formatHash({ hash: "0x123", chainType: ChainType.EVM })).toBe("0x123");
78
+ expect(formatHash({ hash: "0", chainType: ChainType.EVM })).toBe("0");
79
+ expect(formatHash({ hash: "0x12345678", chainType: ChainType.EVM })).toBe("0x12345678");
80
+ expect(formatHash({ hash: "osmo123", chainType: ChainType.COSMOS })).toBe("osmo123");
81
+ expect(formatHash({ hash: "inj1", chainType: ChainType.COSMOS })).toBe("inj1");
82
+ expect(formatHash({ hash: "neutron12345", chainType: ChainType.COSMOS })).toBe("neutron12345");
58
83
  });
59
- test("for negative trim length, removes its absolute value and adds three dots at the end", () => {
60
- expect(formatWalletAddress("0x123", -1)).toBe("0x12..."); // trims 1 characters and adds three dots
61
- expect(formatWalletAddress("0x6f1c3f578ef3f0d2cf9b1ec712d9654f143ea4d1", -5)).toBe("0x6f1c3f578ef3f0d2cf9b1ec712d9654f143..." // trims 5 characters and adds three dots
62
- );
63
- expect(formatWalletAddress("noble1awrua7e2kj69d7vn5qt5tccrhavmj9xa6up0eq", -9)).toBe("noble1awrua7e2kj69d7vn5qt5tccrhavmj..." // trims 9 characters and adds three dots
64
- );
65
- });
66
- test("returns full address when its length is smaller than trim length", () => {
67
- const evmAddress = "0x6f1c3f578ef3f0d2cf9b1ec712d9654f143ea4d1";
68
- expect(formatWalletAddress(evmAddress, 100)).toBe(evmAddress);
69
- const cosmosAddress = "noble1awrua7e2kj69d7vn5qt5tccrhavmj9xa6up0eq";
70
- expect(formatWalletAddress(cosmosAddress, 100)).toBe(cosmosAddress);
84
+ test("returns right hash format without chainType", () => {
85
+ expect(formatHash({ hash: "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664" })).toBe("0xA7D7...C664");
86
+ expect(formatHash({ hash: "osmo14lzvt4gdwh2q4ymyjqma0p4j4aykpn929zx75y" })).toBe("osmo14lz...x75y");
71
87
  });
72
88
  });
73
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"walletService.test.js","sourceRoot":"","sources":["../../src/tests/walletService.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletService.test.js","sourceRoot":"","sources":["../../src/tests/walletService.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsquid/react-hooks",
3
- "version": "1.0.27",
3
+ "version": "1.0.29",
4
4
  "description": "Squid hooks monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,7 +39,6 @@
39
39
  "@wagmi/core": "0.10.17",
40
40
  "axios": "0.28.0",
41
41
  "bignumber.js": "9.1.1",
42
- "clsx": "1.2.1",
43
42
  "color": "4.2.3",
44
43
  "cosmjs-types": "0.8.0",
45
44
  "fuse.js": "6.6.2",
@@ -65,7 +64,7 @@
65
64
  "@babel/preset-env": "7.24.4",
66
65
  "@babel/preset-react": "7.24.1",
67
66
  "@babel/preset-typescript": "7.24.1",
68
- "@keplr-wallet/types": "0.12.12",
67
+ "@keplr-wallet/types": "0.12.107",
69
68
  "@testing-library/react": "14.3.0",
70
69
  "@testing-library/react-hooks": "8.0.1",
71
70
  "@types/color": "3.0.3",
@@ -1,5 +0,0 @@
1
- import { TokenWithBalance } from "../../core/types/tokens";
2
- export declare const useAllTokensWithBalance: (direction: "from" | "to") => {
3
- tokensWithBalanceQuery: import("@tanstack/react-query").UseQueryResult<TokenWithBalance[], unknown>;
4
- tokens: TokenWithBalance[];
5
- };
@@ -1,62 +0,0 @@
1
- import { useQuery } from "@tanstack/react-query";
2
- import { useCallback, useMemo } from "react";
3
- import { useAccount } from "wagmi";
4
- import { keys } from "../../core/queries/queries-keys";
5
- import { useSquidStore } from "../../hooks/store/useSquidStore";
6
- import { useSwap } from "../../hooks/swap/useSwap";
7
- import { useSquidTokens } from "../../hooks/tokens/useSquidTokens";
8
- import { getAllEvmTokensBalance } from "../../services/external/rpcService";
9
- export const useAllTokensWithBalance = (direction) => {
10
- const { config } = useSquidStore();
11
- const { address: connectedEVMAddress, isConnected } = useAccount();
12
- const { destinationAddress, fromToken, toToken } = useSwap();
13
- const { tokens: squidTokens } = useSquidTokens();
14
- const desiredAddress = useMemo(() => (direction === "to" ? destinationAddress : connectedEVMAddress), [connectedEVMAddress, destinationAddress, direction]);
15
- // Checking if token is EVM by checking if chainId is a number
16
- const evmTokens = useMemo(() => {
17
- const disabledTokensOnDirection = config.disabledChains?.[direction === "from" ? "source" : "destination"] ?? [];
18
- return squidTokens
19
- .filter((t) => !isNaN(Number(t.chainId)) &&
20
- !disabledTokensOnDirection.includes(t.chainId))
21
- .map((t) => ({ ...t, balance: "0" }));
22
- }, [squidTokens]);
23
- // Checking if token is EVM by checking if chainId is a suite of letters
24
- const cosmosTokens = useMemo(() => {
25
- const disabledTokensOnDirection = config.disabledChains?.[direction === "from" ? "source" : "destination"] ?? [];
26
- return squidTokens
27
- .filter((t) => isNaN(Number(t.chainId)) &&
28
- !disabledTokensOnDirection.includes(t.chainId))
29
- .map((t) => ({ ...t, balance: "0" }));
30
- }, [squidTokens]);
31
- const tokensWithoutBalance = useMemo(() => {
32
- return [...evmTokens, ...cosmosTokens];
33
- }, [cosmosTokens, evmTokens]);
34
- const tokensWithBalanceQuery = useQuery(keys({
35
- apiUrl: config.apiUrl,
36
- address: desiredAddress,
37
- }).allTokensBalance(direction), async () => {
38
- // Need to be connected to query balance for EVM tokens
39
- if (!isConnected || !desiredAddress) {
40
- return [...evmTokens, ...cosmosTokens];
41
- }
42
- // Get balances
43
- const evmTokensBalances = await getAllEvmTokensBalance(evmTokens, desiredAddress);
44
- // Concatenate all tokens
45
- return [...evmTokensBalances, ...cosmosTokens];
46
- });
47
- const removeTokenSelectedInOtherDirection = useCallback((t) => {
48
- const tokenSelectedInOtherDirection = direction === "to" ? fromToken : toToken;
49
- return !(t.address === tokenSelectedInOtherDirection?.address &&
50
- t.chainId === tokenSelectedInOtherDirection?.chainId);
51
- }, [direction, fromToken, toToken]);
52
- const tokens = useMemo(() => (tokensWithBalanceQuery.data ?? tokensWithoutBalance).filter(removeTokenSelectedInOtherDirection), [
53
- tokensWithBalanceQuery.data,
54
- tokensWithoutBalance,
55
- removeTokenSelectedInOtherDirection,
56
- ]);
57
- return {
58
- tokensWithBalanceQuery,
59
- tokens,
60
- };
61
- };
62
- //# sourceMappingURL=useAllTokensWithBalance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAllTokensWithBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalance.ts"],"names":[],"mappings":"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"}