@0xsquid/react-hooks 3.0.30-beta.17 → 3.0.30-beta.19

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.
@@ -11,6 +11,7 @@ export declare const transparentClass = "tw-bg-opacity-80";
11
11
  export declare const subTransparentClass = "tw-bg-opacity-50";
12
12
  export declare const backendVersion = "v2";
13
13
  export declare const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
14
+ export declare const TOKEN_PRICE_API_URL = "https://beta.app.squidrouter.com/api/coingecko";
14
15
  export declare const CHAIN_RPC_MAPPING: {
15
16
  [key: string]: string;
16
17
  };
@@ -13,6 +13,7 @@ export const transparentClass = "tw-bg-opacity-80";
13
13
  export const subTransparentClass = "tw-bg-opacity-50";
14
14
  export const backendVersion = "v2";
15
15
  export const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
16
+ export const TOKEN_PRICE_API_URL = `https://beta.app.squidrouter.com/api/coingecko`;
16
17
  export const CHAIN_RPC_MAPPING = {
17
18
  "137": "https://polygon.llamarpc.com",
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,CAAC,MAAM,qBAAqB,GAChC,4CAA4C,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAmB,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,2DAA2D;IAC3D,6FAA6F;IAC7F,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,aAAa;KACvB;IACD,qDAAqD;IACrD,SAAS,EAAE;QACT,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,eAAe;KACzB;IACD,yEAAyE;IACzE,MAAM,EAAE;QACN,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB;IACD,8BAA8B;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,eAAe;KACzB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC5C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,eAAe;IACvB,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC;AAEF,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,+CAAyB,CAAA;AAC3B,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,sBAAsB;IACtB,UAAU;IACV,kBAAkB;IAClB,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,qBAAqB;IACxB,uBAAuB;IACvB,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,CAAC,MAAM,qBAAqB,GAChC,4CAA4C,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAmB,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAEpF,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,2DAA2D;IAC3D,6FAA6F;IAC7F,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,aAAa;KACvB;IACD,qDAAqD;IACrD,SAAS,EAAE;QACT,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,eAAe;KACzB;IACD,yEAAyE;IACzE,MAAM,EAAE;QACN,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;KACpB;IACD,8BAA8B;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,eAAe;KACzB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC5C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,eAAe;IACvB,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC;AAEF,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,+CAAyB,CAAA;AAC3B,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,sBAAsB;IACtB,UAAU;IACV,kBAAkB;IAClB,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,qBAAqB;IACxB,uBAAuB;IACvB,OAAO;CACR,CAAC"}
@@ -1,89 +1,21 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- export declare const useAllConnectedWalletBalances: () => {
3
- groupedBalances: {
4
- evm: {
5
- balance: string;
6
- type: ChainType;
7
- chainId: string;
8
- address: string;
9
- name: string;
10
- symbol: string;
11
- decimals: number;
12
- logoURI?: string | undefined;
13
- coingeckoId?: string | undefined;
14
- interchainTokenId?: string | undefined;
15
- volatility: import("@0xsquid/squid-types").Volatility;
16
- usdPrice?: number | undefined;
17
- axelarNetworkSymbol?: string | undefined;
18
- subGraphOnly?: boolean | undefined;
19
- subGraphIds?: string[] | undefined;
20
- feeOnTransfer?: boolean | undefined;
21
- isLpToken?: boolean | undefined;
22
- disabled?: boolean | undefined;
23
- }[];
24
- cosmos: {
25
- balance: string;
26
- type: ChainType;
27
- chainId: string;
28
- address: string;
29
- name: string;
30
- symbol: string;
31
- decimals: number;
32
- logoURI?: string | undefined;
33
- coingeckoId?: string | undefined;
34
- interchainTokenId?: string | undefined;
35
- volatility: import("@0xsquid/squid-types").Volatility;
36
- usdPrice?: number | undefined;
37
- axelarNetworkSymbol?: string | undefined;
38
- subGraphOnly?: boolean | undefined;
39
- subGraphIds?: string[] | undefined;
40
- feeOnTransfer?: boolean | undefined;
41
- isLpToken?: boolean | undefined;
42
- disabled?: boolean | undefined;
43
- }[];
44
- bitcoin: {
45
- balance: string;
46
- type: ChainType;
47
- chainId: string;
48
- address: string;
49
- name: string;
50
- symbol: string;
51
- decimals: number;
52
- logoURI?: string | undefined;
53
- coingeckoId?: string | undefined;
54
- interchainTokenId?: string | undefined;
55
- volatility: import("@0xsquid/squid-types").Volatility;
56
- usdPrice?: number | undefined;
57
- axelarNetworkSymbol?: string | undefined;
58
- subGraphOnly?: boolean | undefined;
59
- subGraphIds?: string[] | undefined;
60
- feeOnTransfer?: boolean | undefined;
61
- isLpToken?: boolean | undefined;
62
- disabled?: boolean | undefined;
63
- }[];
64
- };
1
+ import { UseQueryOptions } from "@tanstack/react-query";
2
+ import { TokenWithBalance } from "src/core/types/tokens";
3
+ export declare const useAllConnectedWalletBalances: ({ direction, queryOptions, }?: {
4
+ direction?: "from" | "to" | undefined;
5
+ queryOptions?: UseQueryOptions<{
6
+ tokens: TokenWithBalance[];
7
+ totalUsdBalance: string;
8
+ }, unknown, {
9
+ tokens: TokenWithBalance[];
10
+ totalUsdBalance: string;
11
+ }, import("@tanstack/react-query").QueryKey> | undefined;
12
+ }) => {
13
+ tokens: TokenWithBalance[];
14
+ totalUsdBalance: number;
65
15
  isInitialLoading: boolean;
66
16
  isFetching: boolean;
67
17
  isLoading: boolean;
68
- tokens: {
69
- balance: string;
70
- type: ChainType;
71
- chainId: string;
72
- address: string;
73
- name: string;
74
- symbol: string;
75
- decimals: number;
76
- logoURI?: string | undefined;
77
- coingeckoId?: string | undefined;
78
- interchainTokenId?: string | undefined;
79
- volatility: import("@0xsquid/squid-types").Volatility;
80
- usdPrice?: number | undefined;
81
- axelarNetworkSymbol?: string | undefined;
82
- subGraphOnly?: boolean | undefined;
83
- subGraphIds?: string[] | undefined;
84
- feeOnTransfer?: boolean | undefined;
85
- isLpToken?: boolean | undefined;
86
- disabled?: boolean | undefined;
87
- }[];
88
- totalUsdBalance: number;
18
+ isRefetching: boolean;
19
+ isError: boolean;
20
+ isSuccess: boolean;
89
21
  };
@@ -1,50 +1,60 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { useMemo } from "react";
3
- import { useSquidChains } from "../chains/useSquidChains";
4
3
  import { useWallet } from "../wallet/useWallet";
5
4
  import { useAllTokensWithBalanceForChainType } from "./useAllTokensWithBalanceForChainType";
6
- export const useAllConnectedWalletBalances = () => {
7
- const { findChain } = useSquidChains();
5
+ const BALANCE_STALE_TIME = 120000; // 2 minutes
6
+ const BALANCE_CACHE_TIME = 300000; // 5 minutes
7
+ export const useAllConnectedWalletBalances = ({ direction, queryOptions = {
8
+ staleTime: BALANCE_STALE_TIME,
9
+ cacheTime: BALANCE_CACHE_TIME,
10
+ }, } = {}) => {
8
11
  const { connectedAddresses } = useWallet();
9
- const evmBalances = useAllTokensWithBalanceForChainType({
12
+ const evmBalancesQuery = useAllTokensWithBalanceForChainType({
10
13
  chainType: ChainType.EVM,
11
- address: connectedAddresses[ChainType.EVM] ?? undefined,
14
+ address: connectedAddresses?.[ChainType.EVM],
15
+ direction,
16
+ queryOptions: {
17
+ ...queryOptions,
18
+ enabled: Boolean(connectedAddresses?.[ChainType.EVM]),
19
+ },
12
20
  });
13
- const cosmosBalances = useAllTokensWithBalanceForChainType({
21
+ const cosmosBalancesQuery = useAllTokensWithBalanceForChainType({
14
22
  chainType: ChainType.COSMOS,
15
- address: connectedAddresses[ChainType.COSMOS] ?? undefined,
23
+ address: connectedAddresses?.[ChainType.COSMOS],
24
+ direction,
25
+ queryOptions: {
26
+ ...queryOptions,
27
+ enabled: Boolean(connectedAddresses?.[ChainType.COSMOS]),
28
+ },
16
29
  });
17
- const allTokens = useMemo(() => [...evmBalances.tokens, ...cosmosBalances.tokens], [evmBalances.tokens, cosmosBalances.tokens]);
18
- const groupedBalances = useMemo(() => {
19
- const grouped = allTokens.reduce((acc, token) => {
20
- const chainType = findChain(token.chainId)?.chainType;
21
- if (chainType) {
22
- if (!acc[chainType]) {
23
- acc[chainType] = [];
24
- }
25
- acc[chainType].push(token);
26
- }
27
- return acc;
28
- }, {});
29
- return {
30
- [ChainType.EVM]: grouped[ChainType.EVM] || [],
31
- [ChainType.COSMOS]: grouped[ChainType.COSMOS] || [],
32
- [ChainType.BTC]: grouped[ChainType.BTC] || [],
33
- };
34
- }, [allTokens, findChain]);
35
- const totalUsdBalance = useMemo(() => Number(evmBalances.totalUsdBalance) +
36
- Number(cosmosBalances.totalUsdBalance), [evmBalances.totalUsdBalance, cosmosBalances.totalUsdBalance]);
37
- const isInitialLoading = evmBalances.tokensWithBalanceQuery.isInitialLoading ||
38
- cosmosBalances.tokensWithBalanceQuery.isInitialLoading;
39
- const isFetching = evmBalances.tokensWithBalanceQuery.isFetching ||
40
- cosmosBalances.tokensWithBalanceQuery.isFetching;
41
- const isLoading = evmBalances.tokensWithBalanceQuery.isLoading ||
42
- cosmosBalances.tokensWithBalanceQuery.isLoading;
30
+ // Create a map of chain type to balance query results
31
+ const balanceQueries = useMemo(() => ({
32
+ [ChainType.EVM]: evmBalancesQuery,
33
+ [ChainType.COSMOS]: cosmosBalancesQuery,
34
+ }), [evmBalancesQuery, cosmosBalancesQuery]);
35
+ // Combine all tokens from different chains
36
+ const allTokens = useMemo(() => Object.values(balanceQueries).flatMap((query) => query.data?.tokens ?? []), [balanceQueries]);
37
+ // Calculate total USD balance across all chains
38
+ const totalUsdBalance = useMemo(() => {
39
+ return Object.values(balanceQueries).reduce((total, query) => {
40
+ const balanceStr = query?.data?.totalUsdBalance;
41
+ if (!balanceStr)
42
+ return total;
43
+ const balance = Number(balanceStr);
44
+ return Number.isFinite(balance) ? total + balance : total;
45
+ }, 0);
46
+ }, [balanceQueries]);
47
+ // Aggregate loading states
48
+ const queryStates = useMemo(() => ({
49
+ isInitialLoading: Object.values(balanceQueries).some((q) => q.isInitialLoading),
50
+ isFetching: Object.values(balanceQueries).some((q) => q.isFetching),
51
+ isLoading: Object.values(balanceQueries).some((q) => q.isLoading),
52
+ isRefetching: Object.values(balanceQueries).some((q) => q.isRefetching),
53
+ isError: Object.values(balanceQueries).some((q) => q.isError),
54
+ isSuccess: Object.values(balanceQueries).every((q) => q.isSuccess),
55
+ }), [balanceQueries]);
43
56
  return {
44
- groupedBalances,
45
- isInitialLoading,
46
- isFetching,
47
- isLoading,
57
+ ...queryStates,
48
58
  tokens: allTokens,
49
59
  totalUsdBalance,
50
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAllConnectedWalletBalances.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllConnectedWalletBalances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAllConnectedWalletBalances.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllConnectedWalletBalances.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,14 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
3
3
  import { TokenWithBalance } from "../../core/types/tokens";
4
+ type QueryData = {
5
+ tokens: TokenWithBalance[];
6
+ totalUsdBalance: string;
7
+ };
4
8
  export declare const useAllTokensWithBalanceForChainType: ({ chainType, address, direction, queryOptions, }: {
5
9
  chainType?: ChainType | undefined;
6
10
  address?: string | undefined;
7
11
  direction?: "from" | "to" | undefined;
8
- queryOptions?: UseQueryOptions<TokenWithBalance[], unknown, TokenWithBalance[], import("@tanstack/react-query").QueryKey> | undefined;
9
- }) => {
10
- tokensWithBalanceQuery: UseQueryResult<TokenWithBalance[], unknown>;
11
- tokens: {
12
- balance: string;
13
- type: ChainType;
14
- chainId: string;
15
- address: string;
16
- name: string;
17
- symbol: string;
18
- decimals: number;
19
- logoURI?: string | undefined;
20
- coingeckoId?: string | undefined;
21
- interchainTokenId?: string | undefined;
22
- volatility: import("@0xsquid/squid-types").Volatility;
23
- usdPrice?: number | undefined;
24
- axelarNetworkSymbol?: string | undefined;
25
- subGraphOnly?: boolean | undefined;
26
- subGraphIds?: string[] | undefined;
27
- feeOnTransfer?: boolean | undefined;
28
- isLpToken?: boolean | undefined;
29
- disabled?: boolean | undefined;
30
- }[];
31
- refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenWithBalance[], unknown>>;
32
- totalUsdBalance: string;
33
- };
12
+ queryOptions?: UseQueryOptions<QueryData, unknown, QueryData, import("@tanstack/react-query").QueryKey> | undefined;
13
+ }) => UseQueryResult<QueryData>;
14
+ export {};
@@ -11,76 +11,85 @@ export const useAllTokensWithBalanceForChainType = ({ chainType, address, direct
11
11
  const { cosmosChains, chains } = useSquidChains(direction);
12
12
  const { evmTokens, cosmosTokens } = useSquidTokens(direction);
13
13
  const { keplrTypeWallet } = useCosmosContext();
14
- const tokensWithZeroBalance = useMemo(() => ({
15
- [ChainType.EVM]: evmTokens.map((t) => ({ ...t, balance: "0" })),
16
- [ChainType.COSMOS]: cosmosTokens.map((t) => ({ ...t, balance: "0" })),
17
- [ChainType.BTC]: [],
18
- }), [evmTokens, cosmosTokens]);
19
- const evmTokensQuery = useQuery(keys().allTokensBalance(address, ChainType.EVM), async () => {
20
- const evmTokensBalances = await getAllEvmTokensBalance(evmTokens, address, chains);
21
- return evmTokensBalances;
22
- }, {
23
- ...queryOptions,
24
- enabled: evmTokens.length > 0 &&
25
- chainType === ChainType.EVM &&
26
- !!address &&
27
- queryOptions?.enabled !== false,
28
- });
29
- const cosmosTokensQuery = useQuery(keys().allTokensBalance(address, ChainType.COSMOS), async () => {
30
- const addresses = await getAllKeysForSupportedCosmosChains(cosmosChains.map((c) => c.chainId), keplrTypeWallet);
31
- const cosmosBalances = await getAllCosmosBalancesForAddress({
32
- addresses,
33
- cosmosChains,
34
- cosmosTokens,
35
- });
36
- return cosmosBalances;
37
- }, {
38
- ...queryOptions,
39
- enabled: cosmosTokens.length > 0 &&
40
- chainType === ChainType.COSMOS &&
41
- !!address &&
42
- queryOptions?.enabled !== false,
43
- });
44
- const tokensWithBalanceQuery = useMemo(() => {
45
- let baseQuery;
14
+ const placeholderData = useMemo(() => {
15
+ const tokens = {
16
+ [ChainType.EVM]: evmTokens.map((t) => ({ ...t, balance: "0" })),
17
+ [ChainType.COSMOS]: cosmosTokens.map((t) => ({ ...t, balance: "0" })),
18
+ [ChainType.BTC]: [],
19
+ };
20
+ if (!chainType) {
21
+ return {
22
+ tokens: [...tokens[ChainType.EVM], ...tokens[ChainType.COSMOS]],
23
+ totalUsdBalance: "0",
24
+ };
25
+ }
26
+ return {
27
+ tokens: tokens[chainType],
28
+ totalUsdBalance: "0",
29
+ };
30
+ }, [evmTokens, cosmosTokens, chainType]);
31
+ const isQueryEnabled = useMemo(() => {
32
+ // Respect the queryOptions.enabled override if provided
33
+ if (queryOptions?.enabled === false)
34
+ return false;
46
35
  switch (chainType) {
36
+ case ChainType.EVM:
37
+ return evmTokens.length > 0 && !!address;
47
38
  case ChainType.COSMOS:
48
- baseQuery = cosmosTokensQuery;
49
- break;
39
+ return cosmosTokens.length > 0 && !!address;
40
+ case undefined:
41
+ return false;
42
+ case ChainType.BTC:
43
+ default:
44
+ return true;
45
+ }
46
+ }, [
47
+ chainType,
48
+ evmTokens.length,
49
+ cosmosTokens.length,
50
+ address,
51
+ queryOptions?.enabled,
52
+ ]);
53
+ const query = useQuery(keys().allTokensBalance(address, chainType), async () => {
54
+ // Return zero balances if no address
55
+ if (!address) {
56
+ const defaultTokens = placeholderData.tokens;
57
+ return {
58
+ tokens: defaultTokens,
59
+ totalUsdBalance: calculateTotalUsdBalanceUSD(defaultTokens),
60
+ };
61
+ }
62
+ let fetchedTokens = [];
63
+ // Fetch tokens based on chain type
64
+ switch (chainType) {
50
65
  case ChainType.EVM:
51
- baseQuery = evmTokensQuery;
66
+ fetchedTokens = await getAllEvmTokensBalance(evmTokens, address, chains);
67
+ break;
68
+ case ChainType.COSMOS:
69
+ const addresses = await getAllKeysForSupportedCosmosChains(cosmosChains.map((c) => c.chainId), keplrTypeWallet);
70
+ fetchedTokens = await getAllCosmosBalancesForAddress({
71
+ addresses,
72
+ cosmosChains,
73
+ cosmosTokens,
74
+ });
52
75
  break;
76
+ case ChainType.BTC:
53
77
  default:
54
- baseQuery = { data: tokensWithZeroBalance[ChainType.EVM] };
78
+ fetchedTokens = placeholderData.tokens;
79
+ break;
55
80
  }
56
81
  return {
57
- ...baseQuery,
58
- isLoading: chainType ? baseQuery.isLoading : false,
59
- isSuccess: chainType ? baseQuery.isSuccess : true,
60
- data: baseQuery.data ??
61
- tokensWithZeroBalance[chainType ?? ChainType.EVM] ??
62
- [],
82
+ tokens: fetchedTokens,
83
+ totalUsdBalance: calculateTotalUsdBalanceUSD(fetchedTokens),
63
84
  };
64
- }, [chainType, cosmosTokensQuery, evmTokensQuery, tokensWithZeroBalance]);
65
- const tokens = useMemo(() => {
66
- if (!chainType) {
67
- return [
68
- ...tokensWithZeroBalance[ChainType.EVM],
69
- ...tokensWithZeroBalance[ChainType.COSMOS],
70
- ...tokensWithZeroBalance[ChainType.BTC],
71
- ];
72
- }
73
- const selectedChainTokens = tokensWithBalanceQuery.data ?? tokensWithZeroBalance[chainType];
74
- const otherChainTypes = Object.values(ChainType).filter((type) => type !== chainType);
75
- const otherChainTokens = otherChainTypes.flatMap((type) => tokensWithZeroBalance[type]);
76
- return [...selectedChainTokens, ...otherChainTokens];
77
- }, [tokensWithBalanceQuery.data, tokensWithZeroBalance, chainType]);
78
- const totalUsdBalance = useMemo(() => calculateTotalUsdBalanceUSD(tokens), [tokens]);
85
+ }, {
86
+ ...queryOptions,
87
+ enabled: isQueryEnabled,
88
+ });
89
+ // Return placeholder if not fetched yet, otherwise return query data
79
90
  return {
80
- tokensWithBalanceQuery,
81
- tokens,
82
- refetch: tokensWithBalanceQuery.refetch,
83
- totalUsdBalance,
91
+ ...query,
92
+ data: query.data ?? placeholderData,
84
93
  };
85
94
  };
86
95
  //# sourceMappingURL=useAllTokensWithBalanceForChainType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAllTokensWithBalanceForChainType.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalanceForChainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAGL,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAEvD,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAClD,SAAS,EACT,OAAO,EACP,SAAS,EACT,YAAY,GAMb,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE/C,MAAM,qBAAqB,GAAG,OAAO,CACnC,GAAG,EAAE,CAAC,CAAC;QACL,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;KACpB,CAAC,EACF,CAAC,SAAS,EAAE,YAAY,CAAC,CAC1B,CAAC;IAEF,MAAM,cAAc,GAAG,QAAQ,CAC7B,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAC/C,KAAK,IAAI,EAAE;QACT,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CACpD,SAAS,EACT,OAAQ,EACR,MAAM,CACP,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC3B,CAAC,EACD;QACE,GAAG,YAAY;QACf,OAAO,EACL,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,SAAS,KAAK,SAAS,CAAC,GAAG;YAC3B,CAAC,CAAC,OAAO;YACT,YAAY,EAAE,OAAO,KAAK,KAAK;KAClC,CACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,QAAQ,CAChC,IAAI,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAClD,KAAK,IAAI,EAAE;QACT,MAAM,SAAS,GAAG,MAAM,kCAAkC,CACxD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAClC,eAAe,CAChB,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,8BAA8B,CAAC;YAC1D,SAAS;YACT,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC,EACD;QACE,GAAG,YAAY;QACf,OAAO,EACL,YAAY,CAAC,MAAM,GAAG,CAAC;YACvB,SAAS,KAAK,SAAS,CAAC,MAAM;YAC9B,CAAC,CAAC,OAAO;YACT,YAAY,EAAE,OAAO,KAAK,KAAK;KAClC,CACF,CAAC;IAEF,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAGrC,EAAE;QACF,IAAI,SAAS,CAAC;QAEd,QAAQ,SAAS,EAAE;YACjB,KAAK,SAAS,CAAC,MAAM;gBACnB,SAAS,GAAG,iBAAiB,CAAC;gBAC9B,MAAM;YACR,KAAK,SAAS,CAAC,GAAG;gBAChB,SAAS,GAAG,cAAc,CAAC;gBAC3B,MAAM;YACR;gBACE,SAAS,GAAG,EAAE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;SAC9D;QAED,OAAO;YACL,GAAG,SAAS;YACZ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YAClD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACjD,IAAI,EACF,SAAS,CAAC,IAAI;gBACd,qBAAqB,CAAC,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC;gBACjD,EAAE;SAC0C,CAAC;IACnD,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE1E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;gBACL,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC;gBACvC,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC1C,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC;aACxC,CAAC;SACH;QAED,MAAM,mBAAmB,GACvB,sBAAsB,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CACrD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAC7B,CAAC;QACF,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CACtC,CAAC;QAEF,OAAO,CAAC,GAAG,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpE,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC,2BAA2B,CAAC,MAAM,CAAC,EACzC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO;QACL,sBAAsB;QACtB,MAAM;QACN,OAAO,EAAE,sBAAsB,CAAC,OAAO;QACvC,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useAllTokensWithBalanceForChainType.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithBalanceForChainType.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export const useEvmBalance = ({ chain, token, userAddress, enabled = true, refre
46
46
  };
47
47
  export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS, }) => {
48
48
  const { isConnected } = useCosmosContext();
49
- const { tokens: cosmosBalances } = useAllTokensWithBalanceForChainType({
49
+ const { data: cosmosBalancesData } = useAllTokensWithBalanceForChainType({
50
50
  chainType: ChainType.COSMOS,
51
51
  address: chainData?.chainType === ChainType.COSMOS ? userAddress : undefined,
52
52
  });
@@ -57,7 +57,7 @@ export const useCosmosBalance = ({ chainData, token, userAddress, enabled = true
57
57
  chainData &&
58
58
  chainData.chainType === ChainType.COSMOS &&
59
59
  isConnected) {
60
- return (cosmosBalances?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
60
+ return (cosmosBalancesData?.tokens?.find((b) => b.address === token?.address && b.chainId === chainData.chainId)?.balance ?? "0");
61
61
  }
62
62
  return "0";
63
63
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBalance.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useBalance.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
+ import { TOKEN_PRICE_API_URL } from "../../core/constants";
2
3
  import { keys } from "../../core/queries/queries-keys";
3
- const TOKEN_PRICE_API_URL = `https://beta.app.squidrouter.com/api/coingecko`;
4
4
  export const useMultipleTokenPrices = (tokens) => {
5
5
  const coingeckoIds = Array.from(new Set(tokens.map((token) => token.coingeckoId).filter(Boolean)));
6
6
  const coinGeckoQuery = useQuery({
@@ -1 +1 @@
1
- {"version":3,"file":"useMultipleTokenPrices.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultipleTokenPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAEvD,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAc7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAoC,EACpC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;IAEd,MAAM,cAAc,GAAG,QAAQ,CAA2B;QACxD,QAAQ,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,mBAAmB,IAAI,MAAM,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE;YACR,GAAG,CAAC,EAAE,CAAC,GAAG;gBACR,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC;aAC9B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,WAAmB,EAA8B,EAAE,CACxE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE3B,OAAO;QACL,WAAW;QACX,aAAa;QACb,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useMultipleTokenPrices.js","sourceRoot":"","sources":["../../../src/hooks/tokens/useMultipleTokenPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAcvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAoC,EACpC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;IAEd,MAAM,cAAc,GAAG,QAAQ,CAA2B;QACxD,QAAQ,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;QAC9C,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,MAAM,EAAE,gBAAgB;gBACxB,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3B,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,mBAAmB,IAAI,MAAM,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE;YACR,GAAG,CAAC,EAAE,CAAC,GAAG;gBACR,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC;aAC9B,CAAC;SACH;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,WAAmB,EAA8B,EAAE,CACxE,WAAW,CAAC,WAAW,CAAC,CAAC;IAE3B,OAAO;QACL,WAAW;QACX,aAAa;QACb,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,6 @@
1
+ import { TOKEN_PRICE_API_URL } from "../../core/constants";
1
2
  import { formatUsdAmount } from "../internal/numberService";
2
3
  const MAX_COINGECKO_QUERY_TOKENS = 100;
3
- // TODO: Change that to a prod API
4
- const SQUID_COINGECKO_API_URL = `https://squid-app-v2-git-chore-wallet-token-chart-0xsquid.vercel.app/api/coingecko`;
5
4
  export const fetchHistoricalData = async (coingeckoId, timeFrame) => {
6
5
  const now = Math.floor(Date.now() / 1000);
7
6
  let from;
@@ -20,7 +19,7 @@ export const fetchHistoricalData = async (coingeckoId, timeFrame) => {
20
19
  break;
21
20
  }
22
21
  try {
23
- const response = await fetch(`${SQUID_COINGECKO_API_URL}?action=getHistoricalData&id=${coingeckoId}&vs_currency=usd&from=${from}&to=${now}`);
22
+ const response = await fetch(`${TOKEN_PRICE_API_URL}?action=getHistoricalData&id=${coingeckoId}&vs_currency=usd&from=${from}&to=${now}`);
24
23
  if (!response.ok) {
25
24
  throw new Error("Network response was not ok");
26
25
  }
@@ -40,7 +39,7 @@ export const fetchTokensData = async (tokens) => {
40
39
  if (coingeckoIds.length > MAX_COINGECKO_QUERY_TOKENS) {
41
40
  throw new Error(`Too many tokens requested. Maximum allowed is ${MAX_COINGECKO_QUERY_TOKENS}.`);
42
41
  }
43
- const response = await fetch(`${SQUID_COINGECKO_API_URL}?action=getCoinData&ids=${coingeckoIds.join(",")}`);
42
+ const response = await fetch(`${TOKEN_PRICE_API_URL}?action=getCoinData&ids=${coingeckoIds.join(",")}`);
44
43
  if (!response.ok) {
45
44
  throw new Error("Network response was not ok");
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tokenDataService.js","sourceRoot":"","sources":["../../../src/services/external/tokenDataService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenDataService.js","sourceRoot":"","sources":["../../../src/services/external/tokenDataService.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": "3.0.30-beta.17",
3
+ "version": "3.0.30-beta.19",
4
4
  "description": "Squid hooks monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",