@0xsquid/react-hooks 6.4.2 → 6.4.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/connectors/bitcoin/errors/index.d.ts +2 -1
- package/dist/core/connectors/bitcoin/errors/index.js +1 -1
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
- package/dist/core/connectors/xrp/CrossMark.d.ts +26 -0
- package/dist/core/connectors/xrp/CrossMark.js +76 -0
- package/dist/core/connectors/xrp/CrossMark.js.map +1 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +44 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js +212 -0
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +9 -3
- package/dist/core/constants.js +33 -3
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/its/config.d.ts +200 -0
- package/dist/core/its/config.js +193 -0
- package/dist/core/its/config.js.map +1 -0
- package/dist/core/providers/CosmosProvider.d.ts +1 -1
- package/dist/core/providers/CosmosProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +7 -5
- package/dist/core/queries/queries-keys.js +5 -0
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +0 -1
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.js +1 -0
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/transaction.d.ts +0 -1
- package/dist/core/types/wallet.d.ts +25 -4
- package/dist/core/types/wallet.js +2 -0
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/xrp.d.ts +51 -0
- package/dist/core/types/xrp.js +2 -0
- package/dist/core/types/xrp.js.map +1 -0
- package/dist/core/wallets.js +39 -0
- package/dist/core/wallets.js.map +1 -1
- package/dist/core/xrp/config.d.ts +21 -0
- package/dist/core/xrp/config.js +61 -0
- package/dist/core/xrp/config.js.map +1 -0
- package/dist/hooks/chains/useSquidChains.js +1 -1
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +5 -15
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/squid/useSquid.js +1 -1
- package/dist/hooks/squid/useSquid.js.map +1 -1
- package/dist/hooks/store/useWalletStore.js +5 -6
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.js +9 -3
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +12 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -6
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -16
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +18 -246
- package/dist/hooks/tokens/useBalance.js +65 -26
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
- package/dist/hooks/tokens/useMultiChainBalance.js +38 -35
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +16 -18
- package/dist/hooks/tokens/useNativeBalance.js +122 -56
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +6 -4
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +2 -11
- package/dist/hooks/tokens/useSquidTokens.js +8 -16
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.js +1 -1
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +0 -2
- package/dist/hooks/transaction/useExecuteTransaction.js +95 -43
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +7 -8
- package/dist/hooks/transaction/useGetRoute.js +165 -7
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/user/useUserParams.js +1 -1
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -3
- package/dist/hooks/wallet/useMultiChainWallet.js +32 -25
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +2 -2
- package/dist/hooks/wallet/useSigner.js +32 -3
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +1 -1
- package/dist/hooks/wallet/useWallet.js +14 -5
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/xrp/useXrp.d.ts +7 -0
- package/dist/hooks/xrp/useXrp.js +22 -0
- package/dist/hooks/xrp/useXrp.js.map +1 -0
- package/dist/hooks/xrp/useXrpPrice.d.ts +1 -0
- package/dist/hooks/xrp/useXrpPrice.js +12 -0
- package/dist/hooks/xrp/useXrpPrice.js.map +1 -0
- package/dist/hooks/xrp/useXrplTrustLine.d.ts +6 -0
- package/dist/hooks/xrp/useXrplTrustLine.js +103 -0
- package/dist/hooks/xrp/useXrplTrustLine.js.map +1 -0
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +7 -7
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +8 -6
- package/dist/services/external/rpcService.js +53 -16
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/xrplRpcClient.d.ts +46 -0
- package/dist/services/external/xrplRpcClient.js +144 -0
- package/dist/services/external/xrplRpcClient.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +5 -5
- package/dist/services/internal/assetsService.js +374 -5
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/cosmosService.d.ts +3 -13
- package/dist/services/internal/cosmosService.js +1 -1
- package/dist/services/internal/cosmosService.js.map +1 -1
- package/dist/services/internal/errorService.d.ts +15 -0
- package/dist/services/internal/errorService.js +9 -3
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +2 -5
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/searchService.d.ts +1 -1
- package/dist/services/internal/searchService.js +14 -3
- package/dist/services/internal/searchService.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +2 -5
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +0 -1
- package/dist/services/internal/transactionService.js +9 -2
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +20 -11
- package/dist/services/internal/walletService.js +24 -20
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/services/internal/xrpService.d.ts +38 -0
- package/dist/services/internal/xrpService.js +178 -0
- package/dist/services/internal/xrpService.js.map +1 -0
- package/dist/services/internal/xrpStatusService.d.ts +4 -0
- package/dist/services/internal/xrpStatusService.js +102 -0
- package/dist/services/internal/xrpStatusService.js.map +1 -0
- package/dist/tests/searchService.test.js +6 -0
- package/dist/tests/searchService.test.js.map +1 -1
- package/package.json +10 -8
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { type ChainData, type CosmosChain, type Token } from "@0xsquid/squid-types";
|
|
2
2
|
import type { TokenWithBalance } from "../../core/types/tokens";
|
|
3
|
-
declare const getTokensSupportingMultiCall: (tokens: Token[], userAddress: string, chains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
4
|
-
export { getTokensSupportingMultiCall };
|
|
3
|
+
export declare const getTokensSupportingMultiCall: (tokens: Token[], userAddress: string, chains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
5
4
|
export declare const getAllEvmTokensBalance: (evmTokens: Token[], userAddress: string, chains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
6
5
|
export declare const getWorkingCosmosRpcUrl: (chainData: ChainData) => Promise<string>;
|
|
7
6
|
/**
|
|
8
7
|
* Get the balance of a single token for a given address
|
|
9
|
-
* @param
|
|
8
|
+
* @param chain - Cosmos chain
|
|
10
9
|
* @param address - user address
|
|
11
10
|
* @param tokenAddress - token address
|
|
12
|
-
* @returns balance as string
|
|
11
|
+
* @returns balance as formatted string
|
|
13
12
|
*/
|
|
14
|
-
export declare const getCosmosTokenBalance: (
|
|
13
|
+
export declare const getCosmosTokenBalance: (chain: ChainData, address: string, tokenAddress: string) => Promise<string>;
|
|
15
14
|
/**
|
|
16
15
|
* Fetches all Cosmos balances for a given address and RPC.
|
|
17
16
|
*
|
|
@@ -46,12 +45,15 @@ export declare const getSolanaTokenBalance: (userAddress: string, tokenAddress:
|
|
|
46
45
|
export declare const getSolanaTokensBalance: (userAddress: string, tokenAddresses: string[]) => Promise<{
|
|
47
46
|
[address: string]: bigint;
|
|
48
47
|
}>;
|
|
49
|
-
export declare const getAllSolanaTokensBalance: (solanaTokens: Token[], userAddress: string
|
|
48
|
+
export declare const getAllSolanaTokensBalance: (solanaTokens: Token[], userAddress: string) => Promise<TokenWithBalance[]>;
|
|
50
49
|
export declare function getBitcoinNativeBalance(address: string): Promise<string>;
|
|
51
50
|
export declare const getAllBitcoinTokensBalance: (userAddress: string, bitcoinTokens: Token[]) => Promise<TokenWithBalance[]>;
|
|
51
|
+
export declare const getXrpTokenBalance: (userAddress: string, token: Pick<Token, "decimals" | "address">, rpcUrl: string) => Promise<bigint>;
|
|
52
|
+
export declare const getAllXrpTokensBalance: (userAddress: string, xrplTokens: Token[], xrplChains: ChainData[]) => Promise<TokenWithBalance[]>;
|
|
52
53
|
/**
|
|
53
54
|
* Returns a promise that resolves when the given promise resolves or after the given timeout
|
|
54
55
|
* @param ms - timeout in milliseconds
|
|
55
56
|
* @param promise - the promise to wait for
|
|
56
57
|
*/
|
|
57
58
|
export declare function timeout<T>(ms: number, promise: Promise<T>): Promise<T | null>;
|
|
59
|
+
export declare function getXRPPrice(): Promise<number>;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { ChainType, } from "@0xsquid/squid-types";
|
|
1
2
|
import { StargateClient } from "@cosmjs/stargate";
|
|
2
|
-
import { CHAIN_IDS, nativeEvmTokenAddress, SOLANA_RPC_URL, } from "../../core/constants";
|
|
3
|
+
import { CHAIN_IDS, nativeEvmTokenAddress, nativeSolanaTokenAddress, SOLANA_RPC_URL, } from "../../core/constants";
|
|
3
4
|
import { multicallAbi, multicallAddress } from "../../core/multicall3";
|
|
4
5
|
import { ethers, Interface, JsonRpcProvider } from "ethers";
|
|
5
6
|
import { erc20Abi } from "viem";
|
|
6
7
|
import { normalizeIbcAddress } from "../internal/assetsService";
|
|
7
8
|
import { isBitcoinAddressValid } from "../internal/bitcoinService";
|
|
8
|
-
import { formatBNToReadable } from "../internal/numberService";
|
|
9
|
+
import { formatBNToReadable, parseToBigInt } from "../internal/numberService";
|
|
10
|
+
import { XrplRpcClient } from "./xrplRpcClient";
|
|
9
11
|
const isTokenNative = (token) => token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
|
|
10
12
|
const getTokenAddressForMultiCall = (t) => {
|
|
11
13
|
return isTokenNative(t)
|
|
@@ -62,7 +64,7 @@ const formatBalanceForTokens = (results) => {
|
|
|
62
64
|
balance: formatBNToReadable(BigInt(result.returnData), token.decimals),
|
|
63
65
|
};
|
|
64
66
|
}
|
|
65
|
-
catch
|
|
67
|
+
catch {
|
|
66
68
|
return {
|
|
67
69
|
...token,
|
|
68
70
|
balance: "0",
|
|
@@ -70,7 +72,7 @@ const formatBalanceForTokens = (results) => {
|
|
|
70
72
|
}
|
|
71
73
|
});
|
|
72
74
|
};
|
|
73
|
-
const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
|
|
75
|
+
export const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
|
|
74
76
|
// Create providers for each chain
|
|
75
77
|
const providers = {};
|
|
76
78
|
chains.forEach((chain) => {
|
|
@@ -97,7 +99,6 @@ const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
|
|
|
97
99
|
const allResults = await Promise.all(chains.map((chain) => fetchBalancesForChain(chain)));
|
|
98
100
|
return allResults.flat();
|
|
99
101
|
};
|
|
100
|
-
export { getTokensSupportingMultiCall };
|
|
101
102
|
export const getAllEvmTokensBalance = async (evmTokens, userAddress, chains) => {
|
|
102
103
|
const tokensMulticall = await getTokensSupportingMultiCall(evmTokens, userAddress, chains);
|
|
103
104
|
return tokensMulticall;
|
|
@@ -121,6 +122,8 @@ const testCosmosRpc = async (rpc) => {
|
|
|
121
122
|
return rpcIsValid;
|
|
122
123
|
};
|
|
123
124
|
export const getWorkingCosmosRpcUrl = async (chainData) => {
|
|
125
|
+
if (chainData.chainType !== ChainType.COSMOS)
|
|
126
|
+
return chainData.rpc;
|
|
124
127
|
const chain = chainData;
|
|
125
128
|
const rpcList = chain.rpcList.length > 0 ? chain.rpcList : chain.rpc ? [chain.rpc] : [];
|
|
126
129
|
// if rpcList is empty, use the default rpc
|
|
@@ -153,13 +156,16 @@ export const getWorkingCosmosRpcUrl = async (chainData) => {
|
|
|
153
156
|
};
|
|
154
157
|
/**
|
|
155
158
|
* Get the balance of a single token for a given address
|
|
156
|
-
* @param
|
|
159
|
+
* @param chain - Cosmos chain
|
|
157
160
|
* @param address - user address
|
|
158
161
|
* @param tokenAddress - token address
|
|
159
|
-
* @returns balance as string
|
|
162
|
+
* @returns balance as formatted string
|
|
160
163
|
*/
|
|
161
|
-
export const getCosmosTokenBalance = async (
|
|
162
|
-
const
|
|
164
|
+
export const getCosmosTokenBalance = async (chain, address, tokenAddress) => {
|
|
165
|
+
const validRpc = await timeout(4_000, getWorkingCosmosRpcUrl(chain));
|
|
166
|
+
if (!validRpc)
|
|
167
|
+
return "0";
|
|
168
|
+
const client = await StargateClient.connect(validRpc);
|
|
163
169
|
const balance = await client.getBalance(address, tokenAddress);
|
|
164
170
|
return balance.amount;
|
|
165
171
|
};
|
|
@@ -273,7 +279,7 @@ export const getSolanaNativeBalance = async (userAddress) => {
|
|
|
273
279
|
return BigInt(data.result?.value || 0);
|
|
274
280
|
};
|
|
275
281
|
export const getSolanaTokenBalance = async (userAddress, tokenAddress) => {
|
|
276
|
-
if (tokenAddress.toLowerCase() ===
|
|
282
|
+
if (tokenAddress.toLowerCase() === nativeSolanaTokenAddress.toLowerCase()) {
|
|
277
283
|
return getSolanaNativeBalance(userAddress);
|
|
278
284
|
}
|
|
279
285
|
const response = await fetch(SOLANA_RPC_URL, {
|
|
@@ -312,17 +318,13 @@ export const getSolanaTokensBalance = async (userAddress, tokenAddresses) => {
|
|
|
312
318
|
});
|
|
313
319
|
const data = await response.json();
|
|
314
320
|
return tokenAddresses.reduce((acc, address) => {
|
|
315
|
-
const tokenAccount = data.result?.value?.find((
|
|
321
|
+
const tokenAccount = data.result?.value?.find((accountInfo) => accountInfo.account.data.parsed.info.mint.toLowerCase() ===
|
|
316
322
|
address.toLowerCase());
|
|
317
323
|
acc[address] = BigInt(tokenAccount?.account.data.parsed.info.tokenAmount.amount || 0);
|
|
318
324
|
return acc;
|
|
319
325
|
}, {});
|
|
320
326
|
};
|
|
321
|
-
export const getAllSolanaTokensBalance = async (solanaTokens, userAddress
|
|
322
|
-
const solanaChain = chains.find((c) => c.chainId === "solana-mainnet-beta");
|
|
323
|
-
if (!solanaChain || !solanaTokens.length) {
|
|
324
|
-
return solanaTokens.map((t) => ({ ...t, balance: "0" }));
|
|
325
|
-
}
|
|
327
|
+
export const getAllSolanaTokensBalance = async (solanaTokens, userAddress) => {
|
|
326
328
|
try {
|
|
327
329
|
const nativeToken = solanaTokens.find((t) => t.address === nativeEvmTokenAddress);
|
|
328
330
|
const otherTokens = solanaTokens.filter((t) => t.address !== nativeEvmTokenAddress);
|
|
@@ -375,6 +377,30 @@ export const getAllBitcoinTokensBalance = async (userAddress, bitcoinTokens) =>
|
|
|
375
377
|
};
|
|
376
378
|
}));
|
|
377
379
|
};
|
|
380
|
+
export const getXrpTokenBalance = async (userAddress, token, rpcUrl) => {
|
|
381
|
+
const xrplClient = new XrplRpcClient(rpcUrl);
|
|
382
|
+
const balance = await xrplClient.getBalance(userAddress, token.address);
|
|
383
|
+
return parseToBigInt(balance, token.decimals);
|
|
384
|
+
};
|
|
385
|
+
export const getAllXrpTokensBalance = async (userAddress, xrplTokens, xrplChains) => {
|
|
386
|
+
const getBalancesForChain = async (chain) => {
|
|
387
|
+
const tokensForChain = xrplTokens.filter((t) => t.chainId === chain.chainId);
|
|
388
|
+
const xrplClient = new XrplRpcClient(chain.rpc);
|
|
389
|
+
const foundBalances = await xrplClient.getAllBalances(userAddress);
|
|
390
|
+
const balanceMap = foundBalances.reduce((acc, { address, balance }) => {
|
|
391
|
+
acc[address] = balance;
|
|
392
|
+
return acc;
|
|
393
|
+
}, {});
|
|
394
|
+
return tokensForChain.map((token) => {
|
|
395
|
+
return {
|
|
396
|
+
...token,
|
|
397
|
+
balance: balanceMap[token.address] || 0,
|
|
398
|
+
};
|
|
399
|
+
});
|
|
400
|
+
};
|
|
401
|
+
const allResults = await Promise.all(xrplChains.map(getBalancesForChain));
|
|
402
|
+
return allResults.flat();
|
|
403
|
+
};
|
|
378
404
|
/**
|
|
379
405
|
* Returns a promise that resolves when the given promise resolves or after the given timeout
|
|
380
406
|
* @param ms - timeout in milliseconds
|
|
@@ -388,4 +414,15 @@ export function timeout(ms, promise) {
|
|
|
388
414
|
});
|
|
389
415
|
return Promise.race([promise, timeoutPromise]);
|
|
390
416
|
}
|
|
417
|
+
export async function getXRPPrice() {
|
|
418
|
+
return 2;
|
|
419
|
+
try {
|
|
420
|
+
const response = await fetch("https://api.coingecko.com/api/v3/simple/price?ids=ripple&vs_currencies=usd");
|
|
421
|
+
const data = await response.json();
|
|
422
|
+
return data.ripple.usd;
|
|
423
|
+
}
|
|
424
|
+
catch (error) {
|
|
425
|
+
return 2.44;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
391
428
|
//# 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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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { TrustLine, XrplTokenBalance } from "../../core/types/xrp";
|
|
2
|
+
type AccountLinesRpcResponse = {
|
|
3
|
+
account: string;
|
|
4
|
+
lines: TrustLine[];
|
|
5
|
+
};
|
|
6
|
+
export type AccountInfoRpcResponse = {
|
|
7
|
+
account_data: {
|
|
8
|
+
/**
|
|
9
|
+
* Unformatted balance
|
|
10
|
+
*/
|
|
11
|
+
Balance: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export declare class XrplRpcClient {
|
|
15
|
+
private rpcUrl;
|
|
16
|
+
constructor(rpcUrl: string);
|
|
17
|
+
getBalance(userAddress: string, tokenAddress: string): Promise<string>;
|
|
18
|
+
getAllBalances(userAddress: string): Promise<XrplTokenBalance[]>;
|
|
19
|
+
getTrustLine(userAddress: string, issuer: string, currency: string): Promise<TrustLine | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Checks the status of a transaction by its hash.
|
|
22
|
+
* Returns 'success', 'failed', or 'pending'.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Waits for a transaction to be validated and returns its final status.
|
|
26
|
+
* Resolves to 'success' or throws an error with the failed status.
|
|
27
|
+
*/
|
|
28
|
+
waitForTransaction(txHash: string, { interval, timeout }?: {
|
|
29
|
+
interval?: number | undefined;
|
|
30
|
+
timeout?: number | undefined;
|
|
31
|
+
}): Promise<string>;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the balance of the user in the native XRP token
|
|
34
|
+
* formatted as a string
|
|
35
|
+
*/
|
|
36
|
+
private getNativeBalance;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the balance of the user in the given issued currency (e.g. RLUSD)
|
|
39
|
+
* formatted as a string
|
|
40
|
+
*/
|
|
41
|
+
private getIssuedCurrencyBalance;
|
|
42
|
+
getTrustLines(userAddress: string, peer?: string): Promise<AccountLinesRpcResponse>;
|
|
43
|
+
private call;
|
|
44
|
+
private getSpendableNativeBalance;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { nativeXrpTokenAddress } from "../../core/constants";
|
|
2
|
+
import { formatBNToReadable, parseToBigInt } from "../internal/numberService";
|
|
3
|
+
export class XrplRpcClient {
|
|
4
|
+
rpcUrl;
|
|
5
|
+
constructor(rpcUrl) {
|
|
6
|
+
this.rpcUrl = rpcUrl;
|
|
7
|
+
}
|
|
8
|
+
async getBalance(userAddress, tokenAddress) {
|
|
9
|
+
if (tokenAddress === nativeXrpTokenAddress) {
|
|
10
|
+
return this.getNativeBalance(userAddress);
|
|
11
|
+
}
|
|
12
|
+
return this.getIssuedCurrencyBalance(userAddress, tokenAddress);
|
|
13
|
+
}
|
|
14
|
+
async getAllBalances(userAddress) {
|
|
15
|
+
const nativeBalancePromise = this.getNativeBalance(userAddress);
|
|
16
|
+
const trustLinesPromise = this.getTrustLines(userAddress);
|
|
17
|
+
const [nativeBalance, trustLineBalances] = await Promise.all([
|
|
18
|
+
nativeBalancePromise,
|
|
19
|
+
trustLinesPromise,
|
|
20
|
+
]);
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
balance: nativeBalance,
|
|
24
|
+
address: nativeXrpTokenAddress,
|
|
25
|
+
},
|
|
26
|
+
...trustLineBalances.lines.map((line) => ({
|
|
27
|
+
balance: line.balance,
|
|
28
|
+
address: `${line.currency}.${line.account}`,
|
|
29
|
+
})),
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
async getTrustLine(userAddress, issuer, currency) {
|
|
33
|
+
const response = await this.getTrustLines(userAddress, issuer);
|
|
34
|
+
const trustLine = response.lines.find((line) => line.currency === currency);
|
|
35
|
+
return trustLine ?? null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Checks the status of a transaction by its hash.
|
|
39
|
+
* Returns 'success', 'failed', or 'pending'.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Waits for a transaction to be validated and returns its final status.
|
|
43
|
+
* Resolves to 'success' or throws an error with the failed status.
|
|
44
|
+
*/
|
|
45
|
+
async waitForTransaction(txHash, { interval = 2_000, timeout = 20_000 } = {}) {
|
|
46
|
+
const startTime = Date.now();
|
|
47
|
+
while (true) {
|
|
48
|
+
try {
|
|
49
|
+
const response = await this.call("tx", [
|
|
50
|
+
{
|
|
51
|
+
transaction: txHash,
|
|
52
|
+
binary: false,
|
|
53
|
+
},
|
|
54
|
+
]);
|
|
55
|
+
if (!response.validated) {
|
|
56
|
+
if (Date.now() - startTime > timeout) {
|
|
57
|
+
throw new Error(`Transaction ${txHash} not validated within timeout`);
|
|
58
|
+
}
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
60
|
+
await new Promise((res) => setTimeout(res, interval));
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const result = response.meta?.TransactionResult;
|
|
64
|
+
if (result === "tesSUCCESS") {
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
throw new Error(`Transaction failed with result: ${result}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
// txnNotFound = still pending or non-existent
|
|
73
|
+
if (error.message?.includes("txnNotFound")) {
|
|
74
|
+
if (Date.now() - startTime > timeout) {
|
|
75
|
+
throw new Error(`Transaction ${txHash} not found within timeout`);
|
|
76
|
+
}
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
78
|
+
await new Promise((res) => setTimeout(res, interval));
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Returns the balance of the user in the native XRP token
|
|
87
|
+
* formatted as a string
|
|
88
|
+
*/
|
|
89
|
+
async getNativeBalance(userAddress) {
|
|
90
|
+
const response = await this.call("account_info", [
|
|
91
|
+
{
|
|
92
|
+
account: userAddress,
|
|
93
|
+
ledger_index: "validated",
|
|
94
|
+
},
|
|
95
|
+
]);
|
|
96
|
+
const spendableBalance = this.getSpendableNativeBalance(response.account_data.Balance);
|
|
97
|
+
return formatBNToReadable(spendableBalance, 6);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns the balance of the user in the given issued currency (e.g. RLUSD)
|
|
101
|
+
* formatted as a string
|
|
102
|
+
*/
|
|
103
|
+
async getIssuedCurrencyBalance(userAddress, tokenAddress) {
|
|
104
|
+
const response = await this.getTrustLines(userAddress);
|
|
105
|
+
const tokenBalance = response.lines.find((line) => `${line.currency}.${line.account}` === tokenAddress);
|
|
106
|
+
return tokenBalance?.balance || "0";
|
|
107
|
+
}
|
|
108
|
+
async getTrustLines(userAddress, peer) {
|
|
109
|
+
return this.call("account_lines", [
|
|
110
|
+
{
|
|
111
|
+
account: userAddress,
|
|
112
|
+
ledger_index: "validated",
|
|
113
|
+
peer,
|
|
114
|
+
},
|
|
115
|
+
]);
|
|
116
|
+
}
|
|
117
|
+
async call(method, params) {
|
|
118
|
+
const response = await fetch(this.rpcUrl, {
|
|
119
|
+
method: "POST",
|
|
120
|
+
headers: {
|
|
121
|
+
"Content-Type": "application/json",
|
|
122
|
+
},
|
|
123
|
+
body: JSON.stringify({
|
|
124
|
+
jsonrpc: "2.0",
|
|
125
|
+
id: 1,
|
|
126
|
+
method,
|
|
127
|
+
params,
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
const data = await response.json();
|
|
131
|
+
if (!data.result) {
|
|
132
|
+
throw new Error(`Invalid response from RPC (${method})`);
|
|
133
|
+
}
|
|
134
|
+
return data.result;
|
|
135
|
+
}
|
|
136
|
+
getSpendableNativeBalance(balance) {
|
|
137
|
+
const reserveDrops = parseToBigInt("1", 6);
|
|
138
|
+
const balanceDrops = BigInt(balance);
|
|
139
|
+
return balanceDrops > reserveDrops
|
|
140
|
+
? String(balanceDrops - reserveDrops)
|
|
141
|
+
: "0";
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=xrplRpcClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xrplRpcClient.js","sourceRoot":"","sources":["../../../src/services/external/xrplRpcClient.ts"],"names":[],"mappings":"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"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -13,3 +13,5 @@ export * from "./internal/solanaService";
|
|
|
13
13
|
export * from "./internal/transactionService";
|
|
14
14
|
export * from "./internal/transactionStatusService";
|
|
15
15
|
export * from "./internal/walletService";
|
|
16
|
+
export * from "./internal/xrpService";
|
|
17
|
+
export * from "./external/xrplRpcClient";
|
package/dist/services/index.js
CHANGED
|
@@ -13,4 +13,7 @@ export * from "./internal/solanaService";
|
|
|
13
13
|
export * from "./internal/transactionService";
|
|
14
14
|
export * from "./internal/transactionStatusService";
|
|
15
15
|
export * from "./internal/walletService";
|
|
16
|
+
export * from "./internal/xrpService";
|
|
17
|
+
// TODO: temp
|
|
18
|
+
export * from "./external/xrplRpcClient";
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,aAAa;AACb,cAAc,0BAA0B,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { QueryClient } from "@tanstack/react-query";
|
|
|
4
4
|
import type { AppConfig } from "../../core/types/config";
|
|
5
5
|
import { SwapParams } from "../../core/types/swap";
|
|
6
6
|
import type { TokenGroup, TokenWithBalance } from "../../core/types/tokens";
|
|
7
|
+
export declare const assetsBaseUrl = "https://raw.githubusercontent.com/0xsquid/assets/main";
|
|
7
8
|
export declare const shareSubgraphId: (token1: Token, token2: Token) => boolean;
|
|
8
9
|
/**
|
|
9
10
|
* Check if `tokenToCheck` shares any subgraph id with the tokens being compared
|
|
@@ -24,7 +25,7 @@ export declare const sortTokensBySharedSubgraphIds: ({ a, b, tokenToCheck, }: {
|
|
|
24
25
|
export declare const filterChains: ({ chains, config, direction, }: {
|
|
25
26
|
chains: ChainData[];
|
|
26
27
|
config: Pick<AppConfig, "disabledChains">;
|
|
27
|
-
direction?: "
|
|
28
|
+
direction?: "to" | "from" | undefined;
|
|
28
29
|
}) => ChainData[];
|
|
29
30
|
/**
|
|
30
31
|
* Filter tokens based on provided config
|
|
@@ -33,7 +34,7 @@ export declare const filterChains: ({ chains, config, direction, }: {
|
|
|
33
34
|
export declare const filterTokens: ({ tokens, config, direction, }: {
|
|
34
35
|
tokens: Token[];
|
|
35
36
|
config: Pick<AppConfig, "disabledChains">;
|
|
36
|
-
direction?: "
|
|
37
|
+
direction?: "to" | "from" | undefined;
|
|
37
38
|
}) => Token[];
|
|
38
39
|
/**
|
|
39
40
|
* Get disabled chains based on the provided config
|
|
@@ -43,8 +44,7 @@ export declare function getDisabledChainsIds({ config, direction, }: {
|
|
|
43
44
|
config: Pick<AppConfig, "disabledChains">;
|
|
44
45
|
direction?: "from" | "to";
|
|
45
46
|
}): string[];
|
|
46
|
-
export declare
|
|
47
|
-
export declare function getTokenImage(token?: Pick<Token, "address" | "chainId">): string | undefined;
|
|
47
|
+
export declare function getTokenImage(token?: Pick<Token, "address" | "chainId">): string;
|
|
48
48
|
/**
|
|
49
49
|
* When user changes something from the SwapView
|
|
50
50
|
* param changed can be chains, tokens, or destination address
|
|
@@ -104,7 +104,7 @@ export type AssetsColors = {
|
|
|
104
104
|
}>;
|
|
105
105
|
};
|
|
106
106
|
export declare function fetchAssetsColors(): Promise<AssetsColors>;
|
|
107
|
-
export declare function initializeSquidWithAssetsColors(squid: Squid, assetsColors: AssetsColors): void
|
|
107
|
+
export declare function initializeSquidWithAssetsColors(squid: Squid, assetsColors: AssetsColors): Promise<void>;
|
|
108
108
|
export declare function isEmptyObject(obj: Record<string, unknown> | undefined): boolean;
|
|
109
109
|
export declare function isEvmosChain(chain: ChainData | undefined): boolean;
|
|
110
110
|
/**
|