@0xsquid/react-hooks 8.11.1-beta-danal.1 → 8.11.1-beta-danal.3
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.
- package/dist/core/constants.d.ts +1 -0
- package/dist/core/types/danal.d.ts +18 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +1 -0
- package/dist/hooks/tokens/useNativeBalance.d.ts +1 -0
- package/dist/{index-D6rznmR_.js → index-DUJ-UlLM.js} +125 -10
- package/dist/index-DUJ-UlLM.js.map +1 -0
- package/dist/{index-BT6G_mgr.js → index-DrkMKLtr.js} +127 -9
- package/dist/index-DrkMKLtr.js.map +1 -0
- package/dist/{index.es-BZb8tg2z.js → index.es-C7zrx1ig.js} +2 -2
- package/dist/{index.es-BZb8tg2z.js.map → index.es-C7zrx1ig.js.map} +1 -1
- package/dist/{index.es-Dl19u5sy.js → index.es-CDalyOHR.js} +2 -2
- package/dist/{index.es-Dl19u5sy.js.map → index.es-CDalyOHR.js.map} +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/{secretService-TP5V9Jwg.js → secretService-CFS8rXMv.js} +2 -2
- package/dist/{secretService-TP5V9Jwg.js.map → secretService-CFS8rXMv.js.map} +1 -1
- package/dist/{secretService-Dvc9Dg4U.js → secretService-YF4EFa4h.js} +2 -2
- package/dist/{secretService-Dvc9Dg4U.js.map → secretService-YF4EFa4h.js.map} +1 -1
- package/dist/server.esm.js.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/services/external/danalApiClient.d.ts +8 -0
- package/dist/services/external/index.d.ts +1 -0
- package/dist/services/external/rpcService.d.ts +2 -0
- package/dist/services/internal/danalService.d.ts +2 -0
- package/dist/{stellarService.client-c48cnGgL.js → stellarService.client-LAWbES06.js} +2 -2
- package/dist/{stellarService.client-c48cnGgL.js.map → stellarService.client-LAWbES06.js.map} +1 -1
- package/dist/{stellarService.client-WTkVJJhn.js → stellarService.client-uTJfWhDa.js} +2 -2
- package/dist/{stellarService.client-WTkVJJhn.js.map → stellarService.client-uTJfWhDa.js.map} +1 -1
- package/dist/tests/danalBalances.test.d.ts +1 -0
- package/package.json +2 -2
- package/dist/index-BT6G_mgr.js.map +0 -1
- package/dist/index-D6rznmR_.js.map +0 -1
package/dist/core/constants.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare const internalSquidApiBaseUrl = "https://app.squidrouter.com/api"
|
|
|
31
31
|
export declare const XAMAN_API_URL: string;
|
|
32
32
|
export declare const TOKEN_PRICE_API_URL: string;
|
|
33
33
|
export declare const CANTON_AMULET_REGISTRY_URL: string;
|
|
34
|
+
export declare const DANAL_TESTNET_API_URL = "https://testnet.squid-api.payprotocol.io";
|
|
34
35
|
export declare const DEFAULT_ROUTE_REFETCH_INTERVAL = 30000;
|
|
35
36
|
export declare const SOLANA_RPC_URL = "https://meredith-ute2ko-fast-mainnet.helius-rpc.com";
|
|
36
37
|
export declare const INTEGRATOR_ID = "squid-widget-playground-local-cd33cba6-7e12-4fcc-8d5d-35e286f655ea";
|
|
@@ -1 +1,19 @@
|
|
|
1
1
|
export type DanalConnector = null;
|
|
2
|
+
export interface DanalBalance {
|
|
3
|
+
address: string;
|
|
4
|
+
token: string;
|
|
5
|
+
balance: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DanalAccount {
|
|
8
|
+
"@account": string;
|
|
9
|
+
token: string;
|
|
10
|
+
type: number;
|
|
11
|
+
created_time: string;
|
|
12
|
+
updated_time: string;
|
|
13
|
+
balance: {
|
|
14
|
+
"@balance": string;
|
|
15
|
+
amount: string;
|
|
16
|
+
created_time: string;
|
|
17
|
+
updated_time: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { AppConfig } from "./config";
|
|
2
|
+
export type { DanalAccount, DanalBalance } from "./danal";
|
|
2
3
|
export { SquidStatusErrorType, TransactionErrorType, type SquidRouteError, type SquidRouteErrorType, type SquidStatusError, } from "./error";
|
|
3
4
|
export type { QrCodeData } from "./event";
|
|
4
5
|
export * from "./history";
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { useSwap } from "./swap/useSwap";
|
|
|
23
23
|
export { buildUrlSearchParamsFromSwapEvent, parseInitialAssetsFromUrl, useUrlSwapParams, } from "./swap/useUrlSwapParams";
|
|
24
24
|
export { useAllConnectedWalletBalances } from "./tokens/useAllConnectedWalletBalances";
|
|
25
25
|
export { useAllTokensWithBalanceForChainType } from "./tokens/useAllTokensWithBalanceForChainType";
|
|
26
|
-
export { useCosmosBalance, useEvmBalance } from "./tokens/useBalance";
|
|
26
|
+
export { useCosmosBalance, useDanalBalance, useEvmBalance, } from "./tokens/useBalance";
|
|
27
27
|
export { useMultiChainBalance } from "./tokens/useMultiChainBalance";
|
|
28
28
|
export { useMultipleTokenPrices } from "./tokens/useMultipleTokenPrices";
|
|
29
29
|
export { useBitcoinNativeBalance, useCosmosNativeBalance, useEvmNativeBalance, useNativeBalance, useSolanaNativeBalance, useStellarNativeBalance, useSuiNativeBalance, useXrplNativeBalance, } from "./tokens/useNativeBalance";
|
|
@@ -17,5 +17,6 @@ export declare const useBitcoinBalance: ({ userAddress, chain, }: UseBalanceOpti
|
|
|
17
17
|
export declare const useSuiBalance: ({ chain, token, userAddress, enabled, refreshIntervalMs, }: UseBalanceOptions) => UseBalanceResult;
|
|
18
18
|
export declare const useXrplBalance: ({ userAddress, chain, enabled, token, refreshIntervalMs, }: UseBalanceOptions) => UseBalanceResult;
|
|
19
19
|
export declare const useStellarBalance: ({ userAddress, chain, enabled, token, refreshIntervalMs, }: UseBalanceOptions) => UseBalanceResult;
|
|
20
|
+
export declare const useDanalBalance: ({ chain, token, userAddress, enabled, refreshIntervalMs, }: UseBalanceOptions) => UseBalanceResult;
|
|
20
21
|
export declare const useCantonBalance: ({ chain, token, userAddress, enabled, refreshIntervalMs, }: UseBalanceOptions) => UseBalanceResult;
|
|
21
22
|
export {};
|
|
@@ -19,6 +19,7 @@ export declare const useSuiNativeBalance: ({ address, chain, }: UseNativeBalance
|
|
|
19
19
|
export declare const useXrplNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
20
20
|
export declare const useStellarNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
21
21
|
export declare const useCantonNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
22
|
+
export declare const useDanalNativeBalance: ({ address, chain, }: UseNativeBalanceOptions) => UseNativeBalanceResult;
|
|
22
23
|
export declare const useNativeBalance: (chain?: ChainData) => {
|
|
23
24
|
nativeBalance: Balance | undefined;
|
|
24
25
|
nativeBalanceFormatted: string | undefined;
|
|
@@ -89,6 +89,7 @@ const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
|
|
|
89
89
|
const XAMAN_API_URL = `${internalSquidApiBaseUrl}/xaman/`;
|
|
90
90
|
const TOKEN_PRICE_API_URL = `${internalSquidApiBaseUrl}/coingecko`;
|
|
91
91
|
const CANTON_AMULET_REGISTRY_URL = `${internalSquidApiBaseUrl}/canton/scan-proxy`;
|
|
92
|
+
const DANAL_TESTNET_API_URL = "https://testnet.squid-api.payprotocol.io";
|
|
92
93
|
const DEFAULT_ROUTE_REFETCH_INTERVAL = 30_000;
|
|
93
94
|
const SOLANA_RPC_URL = "https://meredith-ute2ko-fast-mainnet.helius-rpc.com";
|
|
94
95
|
const INTEGRATOR_ID = "squid-widget-playground-local-cd33cba6-7e12-4fcc-8d5d-35e286f655ea";
|
|
@@ -21111,6 +21112,11 @@ function groupCantonHoldingBalances(acsResponse) {
|
|
|
21111
21112
|
return Object.fromEntries(Object.entries(totals).map(([key, total]) => [key, total.toString(10)]));
|
|
21112
21113
|
}
|
|
21113
21114
|
|
|
21115
|
+
function isDanalTestnetToken(token) {
|
|
21116
|
+
return (token?.type === ChainType.DANAL &&
|
|
21117
|
+
token.chainId === CHAIN_IDS.DANAL_TESTNET &&
|
|
21118
|
+
token.address.toLowerCase() === nativeDanalTokenAddress);
|
|
21119
|
+
}
|
|
21114
21120
|
// Matches the backend validation: "PCI" + 50 uppercase-hex chars, case-sensitive.
|
|
21115
21121
|
const DANAL_ADDRESS_REGEX = /^PCI[0-9A-F]{50}$/;
|
|
21116
21122
|
function isDanalAddressValid(address) {
|
|
@@ -22571,6 +22577,44 @@ function mergeWallets({ multiChainWallets, singleChainWallets, }) {
|
|
|
22571
22577
|
return unifiedWallets;
|
|
22572
22578
|
}
|
|
22573
22579
|
|
|
22580
|
+
const isBalanceAmount = (value) => typeof value === "string" && /^\d+$/.test(value);
|
|
22581
|
+
class DanalApiClient {
|
|
22582
|
+
apiUrl;
|
|
22583
|
+
constructor(apiUrl = DANAL_TESTNET_API_URL) {
|
|
22584
|
+
this.apiUrl = apiUrl;
|
|
22585
|
+
}
|
|
22586
|
+
async getBalance(address) {
|
|
22587
|
+
const data = await this.fetch("balance", address);
|
|
22588
|
+
if (data?.address !== address ||
|
|
22589
|
+
data.token !== "PCI" ||
|
|
22590
|
+
!isBalanceAmount(data.balance)) {
|
|
22591
|
+
throw new Error("Invalid Danal balance response");
|
|
22592
|
+
}
|
|
22593
|
+
return data;
|
|
22594
|
+
}
|
|
22595
|
+
async getAccountInfo(address) {
|
|
22596
|
+
const data = await this.fetch("account", address);
|
|
22597
|
+
if (data?.["@account"] !== address ||
|
|
22598
|
+
data.token !== "PCI" ||
|
|
22599
|
+
data.balance?.["@balance"] !== address ||
|
|
22600
|
+
!isBalanceAmount(data.balance.amount)) {
|
|
22601
|
+
throw new Error("Invalid Danal account response");
|
|
22602
|
+
}
|
|
22603
|
+
return data;
|
|
22604
|
+
}
|
|
22605
|
+
async fetch(resource, address) {
|
|
22606
|
+
if (!isDanalAddressValid(address)) {
|
|
22607
|
+
throw new Error("Invalid Danal address");
|
|
22608
|
+
}
|
|
22609
|
+
const url = `${this.apiUrl.replace(/\/$/, "")}/${resource}/${address}`;
|
|
22610
|
+
const response = await fetch(url);
|
|
22611
|
+
if (!response.ok) {
|
|
22612
|
+
throw new Error(`Danal API error: ${response.status}`);
|
|
22613
|
+
}
|
|
22614
|
+
return response.json();
|
|
22615
|
+
}
|
|
22616
|
+
}
|
|
22617
|
+
|
|
22574
22618
|
const provider = new CloudflareProvider();
|
|
22575
22619
|
const API_BASE_URL = `${internalSquidApiBaseUrl}/ens`;
|
|
22576
22620
|
const getAvatarFromEns = async (ensName) => {
|
|
@@ -23714,7 +23758,7 @@ const filterViewableTokens = (tokens, config, direction) => {
|
|
|
23714
23758
|
};
|
|
23715
23759
|
const getSecretNetworkBalances = async (chainData, cosmosAddress, squidTokens, keplrTypeWallet) => {
|
|
23716
23760
|
const squidSecretTokens = squidTokens.filter((t) => t.chainId === CHAIN_IDS.SECRET);
|
|
23717
|
-
const { fetchAllSecretBalances } = await import('./secretService-
|
|
23761
|
+
const { fetchAllSecretBalances } = await import('./secretService-YF4EFa4h.js');
|
|
23718
23762
|
return fetchAllSecretBalances(chainData, cosmosAddress, squidSecretTokens, keplrTypeWallet);
|
|
23719
23763
|
};
|
|
23720
23764
|
function getTokenAssetsKey(token) {
|
|
@@ -25295,7 +25339,8 @@ const searchTokens = (query, tokens, chains) => {
|
|
|
25295
25339
|
.filter((chain) => chain.nativeCurrency.symbol.toLowerCase() === query.toLowerCase() ||
|
|
25296
25340
|
chain.nativeCurrency.name.toLowerCase().includes(query.toLowerCase()) ||
|
|
25297
25341
|
chain.networkName.toLowerCase().includes(query.toLowerCase()) ||
|
|
25298
|
-
chain.axelarChainName
|
|
25342
|
+
(chain.axelarChainName?.toLowerCase().includes(query.toLowerCase()) ??
|
|
25343
|
+
false))
|
|
25299
25344
|
.map((chain) => tokens.find((token) => token.chainId === chain.chainId &&
|
|
25300
25345
|
token.address.toLowerCase() === nativeEvmTokenAddress))
|
|
25301
25346
|
.filter((token) => token !== undefined);
|
|
@@ -27473,7 +27518,7 @@ function useStellarWallets() {
|
|
|
27473
27518
|
try {
|
|
27474
27519
|
const { allowAllModules: initializeAllModules } = await import('@creit.tech/stellar-wallets-kit');
|
|
27475
27520
|
const { LedgerModule } = await import('@creit.tech/stellar-wallets-kit/modules/ledger.module.mjs');
|
|
27476
|
-
const { formatStellarWallet } = await import('./stellarService.client-
|
|
27521
|
+
const { formatStellarWallet } = await import('./stellarService.client-LAWbES06.js');
|
|
27477
27522
|
const modules = [...initializeAllModules(), new LedgerModule()];
|
|
27478
27523
|
const promises = modules.map(async (module) => {
|
|
27479
27524
|
const isAvailable = await module.isAvailable();
|
|
@@ -30090,6 +30135,24 @@ const getAllSuiTokensBalance = async (userAddress, suiTokens, suiChains) => {
|
|
|
30090
30135
|
const allResults = await Promise.all(suiChains.map(getBalancesForChain));
|
|
30091
30136
|
return allResults.flat();
|
|
30092
30137
|
};
|
|
30138
|
+
const getDanalTokenBalance = async (userAddress, token) => {
|
|
30139
|
+
if (!isDanalTestnetToken(token))
|
|
30140
|
+
return BigInt(0);
|
|
30141
|
+
const { balance } = await new DanalApiClient().getBalance(userAddress);
|
|
30142
|
+
return BigInt(balance);
|
|
30143
|
+
};
|
|
30144
|
+
const getAllDanalTokensBalance = async (userAddress, tokens) => {
|
|
30145
|
+
const nativeToken = tokens.find(isDanalTestnetToken);
|
|
30146
|
+
const balance = nativeToken
|
|
30147
|
+
? await getDanalTokenBalance(userAddress, nativeToken)
|
|
30148
|
+
: BigInt(0);
|
|
30149
|
+
return tokens.map((token) => ({
|
|
30150
|
+
...token,
|
|
30151
|
+
balance: isDanalTestnetToken(token)
|
|
30152
|
+
? formatBNToReadable(balance, token.decimals)
|
|
30153
|
+
: "0",
|
|
30154
|
+
}));
|
|
30155
|
+
};
|
|
30093
30156
|
const getXrplTokenBalance = async (userAddress, token, chain) => {
|
|
30094
30157
|
const xrplClient = await getClient(chain);
|
|
30095
30158
|
const balance = await xrplClient.getBalance(userAddress, token.address);
|
|
@@ -30369,6 +30432,25 @@ const useStellarBalance = ({ userAddress, chain, enabled, token, refreshInterval
|
|
|
30369
30432
|
});
|
|
30370
30433
|
return { balance, isLoading };
|
|
30371
30434
|
};
|
|
30435
|
+
const useDanalBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS$1, }) => {
|
|
30436
|
+
const { data: balance = "0", isInitialLoading } = useQuery({
|
|
30437
|
+
queryKey: keys().balance(chain?.chainId, token?.address, userAddress),
|
|
30438
|
+
queryFn: async () => {
|
|
30439
|
+
if (!userAddress || !token)
|
|
30440
|
+
return "0";
|
|
30441
|
+
const balanceBn = await getDanalTokenBalance(userAddress, token);
|
|
30442
|
+
return formatBNToReadable(balanceBn, token.decimals);
|
|
30443
|
+
},
|
|
30444
|
+
enabled: enabled &&
|
|
30445
|
+
chain?.chainType === ChainType.DANAL &&
|
|
30446
|
+
chain.chainId === token?.chainId &&
|
|
30447
|
+
isDanalTestnetToken(token) &&
|
|
30448
|
+
isDanalAddressValid(userAddress),
|
|
30449
|
+
refetchInterval: refreshIntervalMs,
|
|
30450
|
+
retry: 2,
|
|
30451
|
+
});
|
|
30452
|
+
return { balance, isLoading: isInitialLoading };
|
|
30453
|
+
};
|
|
30372
30454
|
const useCantonBalance = ({ chain, token, userAddress, enabled = true, refreshIntervalMs = DEFAULT_REFRESH_INTERVAL_MS$1, }) => {
|
|
30373
30455
|
const cantonConnector = useWalletStore((store) => store.connectedWalletsByChainType[ChainType.CANTON]?.wallet?.connector);
|
|
30374
30456
|
const { data: balance = "0", isLoading } = useQuery({
|
|
@@ -30613,6 +30695,23 @@ const useCantonNativeBalance = ({ address, chain, }) => {
|
|
|
30613
30695
|
}, [nativeToken?.decimals, rawBalance]);
|
|
30614
30696
|
return { balance, isLoading };
|
|
30615
30697
|
};
|
|
30698
|
+
const useDanalNativeBalance = ({ address, chain, }) => {
|
|
30699
|
+
const { nativeToken } = useNativeTokenForChain(chain);
|
|
30700
|
+
const { balance: rawBalance, isLoading } = useDanalBalance({
|
|
30701
|
+
chain,
|
|
30702
|
+
token: nativeToken,
|
|
30703
|
+
userAddress: address,
|
|
30704
|
+
});
|
|
30705
|
+
const balance = useMemo(() => {
|
|
30706
|
+
if (nativeToken?.decimals != null) {
|
|
30707
|
+
return {
|
|
30708
|
+
decimals: nativeToken.decimals,
|
|
30709
|
+
value: parseToBigInt(rawBalance, nativeToken.decimals),
|
|
30710
|
+
};
|
|
30711
|
+
}
|
|
30712
|
+
}, [nativeToken?.decimals, rawBalance]);
|
|
30713
|
+
return { balance, isLoading };
|
|
30714
|
+
};
|
|
30616
30715
|
const useNativeBalance = (chain) => {
|
|
30617
30716
|
const { connectedAddresses } = useWallet();
|
|
30618
30717
|
const { data: cosmosAddressForChain } = useCosmosForChain(chain);
|
|
@@ -30647,6 +30746,10 @@ const useNativeBalance = (chain) => {
|
|
|
30647
30746
|
address: connectedAddresses[ChainType.CANTON],
|
|
30648
30747
|
chain,
|
|
30649
30748
|
});
|
|
30749
|
+
const { balance: nativeDanalBalance, isLoading: isDanalLoading } = useDanalNativeBalance({
|
|
30750
|
+
address: connectedAddresses[ChainType.DANAL],
|
|
30751
|
+
chain,
|
|
30752
|
+
});
|
|
30650
30753
|
const { nativeBalance, nativeBalanceFormatted } = useMemo(() => {
|
|
30651
30754
|
let balance;
|
|
30652
30755
|
switch (chain?.chainType) {
|
|
@@ -30675,7 +30778,7 @@ const useNativeBalance = (chain) => {
|
|
|
30675
30778
|
balance = nativeCantonBalance;
|
|
30676
30779
|
break;
|
|
30677
30780
|
case ChainType.DANAL:
|
|
30678
|
-
balance =
|
|
30781
|
+
balance = nativeDanalBalance;
|
|
30679
30782
|
break;
|
|
30680
30783
|
}
|
|
30681
30784
|
const balanceFormatted = !!balance
|
|
@@ -30695,6 +30798,7 @@ const useNativeBalance = (chain) => {
|
|
|
30695
30798
|
nativeXrplBalance,
|
|
30696
30799
|
nativeStellarBalance,
|
|
30697
30800
|
nativeCantonBalance,
|
|
30801
|
+
nativeDanalBalance,
|
|
30698
30802
|
]);
|
|
30699
30803
|
const isLoading = useMemo(() => {
|
|
30700
30804
|
if (!chain?.chainType)
|
|
@@ -30717,7 +30821,7 @@ const useNativeBalance = (chain) => {
|
|
|
30717
30821
|
case ChainType.CANTON:
|
|
30718
30822
|
return isCantonLoading;
|
|
30719
30823
|
case ChainType.DANAL:
|
|
30720
|
-
return
|
|
30824
|
+
return isDanalLoading;
|
|
30721
30825
|
}
|
|
30722
30826
|
}, [
|
|
30723
30827
|
chain?.chainType,
|
|
@@ -30729,6 +30833,7 @@ const useNativeBalance = (chain) => {
|
|
|
30729
30833
|
isXrpLoading,
|
|
30730
30834
|
isStellarLoading,
|
|
30731
30835
|
isCantonLoading,
|
|
30836
|
+
isDanalLoading,
|
|
30732
30837
|
]);
|
|
30733
30838
|
return { nativeBalance, nativeBalanceFormatted, isLoading };
|
|
30734
30839
|
};
|
|
@@ -30943,7 +31048,7 @@ function hederaWalletConnect(parameters) {
|
|
|
30943
31048
|
const optionalChains = config.chains.map((x) => x.id);
|
|
30944
31049
|
if (!optionalChains.length)
|
|
30945
31050
|
return;
|
|
30946
|
-
const { EthereumProvider } = await import('./index.es-
|
|
31051
|
+
const { EthereumProvider } = await import('./index.es-CDalyOHR.js');
|
|
30947
31052
|
const rawProvider = await EthereumProvider.init({
|
|
30948
31053
|
...restParameters,
|
|
30949
31054
|
disableProviderPing: true,
|
|
@@ -31816,7 +31921,7 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31816
31921
|
case ChainType.CANTON:
|
|
31817
31922
|
return cantonTokens.length > 0;
|
|
31818
31923
|
case ChainType.DANAL:
|
|
31819
|
-
return danalTokens.length > 0;
|
|
31924
|
+
return danalTokens.length > 0 && isDanalAddressValid(address);
|
|
31820
31925
|
}
|
|
31821
31926
|
}, [
|
|
31822
31927
|
chainType,
|
|
@@ -31879,6 +31984,9 @@ const useAllTokensWithBalanceForChainType = ({ chainType, address, direction, qu
|
|
|
31879
31984
|
})
|
|
31880
31985
|
: placeholderData.tokens;
|
|
31881
31986
|
break;
|
|
31987
|
+
case ChainType.DANAL:
|
|
31988
|
+
fetchedTokens = await getAllDanalTokensBalance(address, danalTokens);
|
|
31989
|
+
break;
|
|
31882
31990
|
default:
|
|
31883
31991
|
fetchedTokens = placeholderData.tokens;
|
|
31884
31992
|
break;
|
|
@@ -32069,6 +32177,12 @@ const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) =>
|
|
|
32069
32177
|
userAddress,
|
|
32070
32178
|
enabled: chain?.chainType === ChainType.CANTON && enabled,
|
|
32071
32179
|
});
|
|
32180
|
+
const { balance: danalBalance } = useDanalBalance({
|
|
32181
|
+
chain,
|
|
32182
|
+
token,
|
|
32183
|
+
userAddress,
|
|
32184
|
+
enabled: chain?.chainType === ChainType.DANAL && enabled,
|
|
32185
|
+
});
|
|
32072
32186
|
const balance = useMemo(() => {
|
|
32073
32187
|
if (!chain?.chainType)
|
|
32074
32188
|
return "0";
|
|
@@ -32090,7 +32204,7 @@ const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) =>
|
|
|
32090
32204
|
case ChainType.CANTON:
|
|
32091
32205
|
return cantonBalance;
|
|
32092
32206
|
case ChainType.DANAL:
|
|
32093
|
-
return
|
|
32207
|
+
return danalBalance;
|
|
32094
32208
|
}
|
|
32095
32209
|
}, [
|
|
32096
32210
|
chain?.chainType,
|
|
@@ -32102,6 +32216,7 @@ const useMultiChainBalance = ({ chain, token, userAddress, enabled = true, }) =>
|
|
|
32102
32216
|
xrplBalance,
|
|
32103
32217
|
stellarBalance,
|
|
32104
32218
|
cantonBalance,
|
|
32219
|
+
danalBalance,
|
|
32105
32220
|
]);
|
|
32106
32221
|
return { balance };
|
|
32107
32222
|
};
|
|
@@ -38946,5 +39061,5 @@ const SquidProvider = ({ children, config, placeholder, }) => {
|
|
|
38946
39061
|
React.createElement(CosmosProvider, null, children))))))))))) : (placeholder);
|
|
38947
39062
|
};
|
|
38948
39063
|
|
|
38949
|
-
export { useWalletStore as $, AxelarStatusResponseType as A, useHederaAccountActivation as B, CHAIN_IDS as C, DEFAULT_LOCALE as D, useHederaTokenAssociations as E, useKeyboardNavigation as F, useSquidQueryClient as G, HistoryTxType as H, useSquid as I, useStellarAccountActivation as J, useStellarTrustLine as K, useAddressBookStore as L, useAssetsColorsStore as M, Nr as N, useFavoriteTokensStore as O, useHistoryStore as P, QueryKeys as Q, useSendTransactionStore as R, SquidStatusErrorType as S, TransactionErrorType as T, useConfigStore as U, useSquidStore as V, Wo as W, XamanXrplNetwork as X, useSwapRoutePersistStore as Y, useTransactionStore as Z, ConnectingWalletStatus as _, WindowWalletFlag as a,
|
|
38950
|
-
//# sourceMappingURL=index-
|
|
39064
|
+
export { useWalletStore as $, AxelarStatusResponseType as A, useHederaAccountActivation as B, CHAIN_IDS as C, DEFAULT_LOCALE as D, useHederaTokenAssociations as E, useKeyboardNavigation as F, useSquidQueryClient as G, HistoryTxType as H, useSquid as I, useStellarAccountActivation as J, useStellarTrustLine as K, useAddressBookStore as L, useAssetsColorsStore as M, Nr as N, useFavoriteTokensStore as O, useHistoryStore as P, QueryKeys as Q, useSendTransactionStore as R, SquidStatusErrorType as S, TransactionErrorType as T, useConfigStore as U, useSquidStore as V, Wo as W, XamanXrplNetwork as X, useSwapRoutePersistStore as Y, useTransactionStore as Z, ConnectingWalletStatus as _, WindowWalletFlag as a, useCountryDetails as a$, useDepositAddress as a0, useSwap as a1, buildUrlSearchParamsFromSwapEvent as a2, parseInitialAssetsFromUrl as a3, useUrlSwapParams as a4, useAllConnectedWalletBalances as a5, useAllTokensWithBalanceForChainType as a6, useCosmosBalance as a7, useDanalBalance as a8, useEvmBalance as a9, useGetRouteWrapper as aA, useRouteWarnings as aB, useSendTransactionStatus as aC, useSwapTransactionStatus as aD, useAvatar as aE, useHistory as aF, useDebouncedValue as aG, useAddToken as aH, useAutoConnect as aI, useEnsDataForAddress as aJ, useEnsSearch as aK, useGnosisContext as aL, useIsSameAddressAndGnosisContext as aM, useIntegratorContext as aN, useMultiChainWallet as aO, useSigner as aP, useWallet as aQ, useWallets as aR, useXrplTrustLine as aS, TX_STATUS_CONSTANTS as aT, FINAL_TRANSACTION_STATUSES as aU, useGetFiatQuote as aV, useGetOnRampConfig as aW, useExecuteFiatQuote as aX, useFiatOnRampTxStatus as aY, useFiatTransactions as aZ, useCurrencyDetails as a_, useMultiChainBalance as aa, useMultipleTokenPrices as ab, useBitcoinNativeBalance as ac, useCosmosNativeBalance as ad, useEvmNativeBalance as ae, useNativeBalance as af, useSolanaNativeBalance as ag, useStellarNativeBalance as ah, useSuiNativeBalance as ai, useXrplNativeBalance as aj, useNativeTokenForChain as ak, useSingleTokenPrice as al, useSourceChainGasToken as am, useSquidTokens as an, useHistoricalData as ao, useTokensData as ap, useEstimateSendTransaction as aq, useSendTransaction as ar, useSendTransactionGas as as, useAllTransactionsStatus as at, useApproval as au, useDepositTransactionStatus as av, useEstimate as aw, useEstimatePriceImpact as ax, useExecuteTransaction as ay, useGetRoute as az, DEFAULT_ROUTE_REFETCH_INTERVAL as b, handleTransactionErrorEvents as b$, useAvailableQuotes as b0, useRecommendedQuote as b1, useGetOnrampPaymentTypes as b2, useSuggestedFiatAmounts as b3, SquidProvider as b4, DanalApiClient as b5, EnsService as b6, getXummClient as b7, isXamanXAppContext as b8, getQueryHeaders as b9, resolveChainIdFromAsset as bA, getConfigWithDefaults as bB, randomIntFromInterval as bC, getTokensForChain as bD, getFirstAvailableChainId as bE, fetchHighestBalanceToken as bF, getInitialOrDefaultTokenAddressForChain as bG, getInitialTokenAddressForChain as bH, filterTokensForDestination as bI, getInitialChainIdFromConfig as bJ, getCosmosKey as bK, getKeysSettled as bL, getAllKeysForSupportedCosmosChains as bM, isCosmosAddressValid as bN, getCosmosSigningClient as bO, getCosmosChainInfosObject as bP, connectCosmosWallet as bQ, isFallbackAddressNeeded as bR, suggestChainOrThrow as bS, isDanalTestnetToken as bT, isDanalAddressValid as bU, isDanalTxHashValid as bV, parseDanalTransferBody as bW, normalizeError as bX, transactionErrorCode as bY, isUserRejectionError as bZ, getTransactionError as b_, getStatusCode as ba, is404Error as bb, assetsBaseUrl as bc, shareSubgraphId as bd, sortTokensBySharedSubgraphIds as be, getSupportedChainIdsForDirection as bf, filterChains as bg, filterTokens as bh, getTokenImage as bi, getNewSwapParamsFromInput as bj, sortAllTokens as bk, findToken as bl, findNativeToken as bm, normalizeIbcAddress as bn, groupTokensBySymbol as bo, groupTokensByChainId as bp, filterViewableTokens as bq, getSecretNetworkBalances as br, getTokenAssetsKey as bs, fetchAssetsColors as bt, isSupportedChainType as bu, initializeSquidData as bv, isEmptyObject as bw, normalizeTokenSymbol as bx, areTokenSymbolsCompatible as by, isEvmosChain as bz, chainTypeToNativeTokenAddressMap as c, isDanalDepositRoute as c$, isSwapRouteError as c0, isStatusError as c1, createQuoteRequestParamsHash as c2, WidgetEvents as c3, EvmNetworkNotSupportedErrorCode as c4, addEthereumChain as c5, parseEvmAddress as c6, formatEvmWallet as c7, filterWagmiConnector as c8, waitForReceiptWithRetry as c9, executeSolanaTransfer as cA, isStellarAddressValid as cB, getStellarNetwork as cC, stellarAddressToScVal as cD, getStellarTrustLineAsset as cE, isStellarToken as cF, isStellarIssuedToken as cG, getStellarHorizonApiUrl as cH, isValidIssuedAsset as cI, isValidHorizonAsset as cJ, formatTransactionHistoryDate as cK, getAxelarExplorerTxUrl as cL, getSourceExplorerTxUrl as cM, getMainExplorerUrl as cN, formatDistance as cO, formatSeconds as cP, formatSwapTxStatusResponseForStorage as cQ, simplifyRouteAction as cR, fetchSwapTransactionStatus as cS, compareTransactionIds as cT, isCoralBridgeAction as cU, isActionCompletedOnSourceTx as cV, sleep as cW, isChainflipDepositRoute as cX, isChainflipBridgeTransaction as cY, isOnChainTxData as cZ, isDepositAddressDirectTransferRoute as c_, getUserCountry as ca, getCountryData as cb, getCurrencyData as cc, adaptiveRound as cd, getSuggestedAmountsForCurrency as ce, HederaExtensionHelper as cf, convertHederaAccountIdToEvmAddress as cg, convertEvmAddressToHederaAccountId as ch, scaleHbarToWei as ci, scaleWeiToHbar as cj, parseToBigInt as ck, roundNumericValue as cl, formatUnitsRounded as cm, formatTokenAmount as cn, formatUsdAmount as co, trimExtraDecimals as cp, getNumericValue as cq, cleanAmount as cr, convertTokenAmountToUSD as cs, convertUSDToTokenAmount as ct, calculateTotal24hChange as cu, getRouteExpiry as cv, searchTokens as cw, filterSolanaWallets as cx, isSolanaAddressValid as cy, executeSolanaSwap as cz, definedInWindow as d, getHistoryTransactionId as d0, getStepStatuses as d1, getHalfSuccessState as d2, getStepsInfos as d3, getSwapTxStatusRefetchInterval as d4, getSendTxStatusRefetchInterval as d5, chainflipMultihopBridgeType as d6, getBridgeType as d7, getTransactionStatus as d8, getTransactionEndStatus as d9, buildXrplTrustSetTx as dA, getXrplNetwork as dB, parseXrplPaymentTx as dC, parseXrplTokenAddress as dD, isHistoryTransactionPending as da, isHistoryTransactionFailed as db, isHistoryTransactionWarning as dc, isHistoryTransactionEnded as dd, formatHash as de, isWalletAddressValid as df, redirectToExtensionsStore as dg, populateWallets as dh, buildFallbackWallets as di, getDefaultChain as dj, sortWallets as dk, areSameAddress as dl, sortAddressBook as dm, calculateTotalUsdBalanceUSD as dn, addTokenToWallet as dp, isEvmChainNotSupportedError as dq, getWalletSupportedChainTypes as dr, getConnectorForChainType as ds, walletSupportsChainType as dt, connectWallet as du, cancelConnectWallet as dv, isProblematicConnector as dw, mergeWallets as dx, isXionSmartContractAddress as dy, isXrplAddressValid as dz, er as e, formatBNToReadable as f, chainTypeToZeroAddressMap as g, destinationAddressResetValue as h, fallbackAddressResetValue as i, nativeCantonTokenAddress as j, nativeCosmosTokenAddress as k, nativeEvmTokenAddress as l, nativeSolanaTokenAddress as m, nativeBitcoinTokenAddress as n, nativeStellarTokenAddress as o, nativeSuiTokenAddress as p, nativeXrplTokenAddress as q, CosmosProvider as r, SendTransactionStatus as s, TransactionStatus as t, useCosmosContext as u, useTrackSearchEmpty as v, walletIconBaseUrl as w, useSquidChains as x, useClient as y, useCosmosForChain as z };
|
|
39065
|
+
//# sourceMappingURL=index-DUJ-UlLM.js.map
|