@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.
Files changed (148) hide show
  1. package/dist/core/connectors/bitcoin/errors/index.d.ts +2 -1
  2. package/dist/core/connectors/bitcoin/errors/index.js +1 -1
  3. package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
  4. package/dist/core/connectors/xrp/CrossMark.d.ts +26 -0
  5. package/dist/core/connectors/xrp/CrossMark.js +76 -0
  6. package/dist/core/connectors/xrp/CrossMark.js.map +1 -0
  7. package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +44 -0
  8. package/dist/core/connectors/xrp/XrpMetamaskSnap.js +212 -0
  9. package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +1 -0
  10. package/dist/core/constants.d.ts +9 -3
  11. package/dist/core/constants.js +33 -3
  12. package/dist/core/constants.js.map +1 -1
  13. package/dist/core/index.d.ts +1 -1
  14. package/dist/core/index.js +1 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/its/config.d.ts +200 -0
  17. package/dist/core/its/config.js +193 -0
  18. package/dist/core/its/config.js.map +1 -0
  19. package/dist/core/providers/CosmosProvider.d.ts +1 -1
  20. package/dist/core/providers/CosmosProvider.js.map +1 -1
  21. package/dist/core/queries/queries-keys.d.ts +7 -5
  22. package/dist/core/queries/queries-keys.js +5 -0
  23. package/dist/core/queries/queries-keys.js.map +1 -1
  24. package/dist/core/types/error.d.ts +0 -1
  25. package/dist/core/types/error.js.map +1 -1
  26. package/dist/core/types/index.d.ts +1 -0
  27. package/dist/core/types/index.js +1 -0
  28. package/dist/core/types/index.js.map +1 -1
  29. package/dist/core/types/transaction.d.ts +0 -1
  30. package/dist/core/types/wallet.d.ts +25 -4
  31. package/dist/core/types/wallet.js +2 -0
  32. package/dist/core/types/wallet.js.map +1 -1
  33. package/dist/core/types/xrp.d.ts +51 -0
  34. package/dist/core/types/xrp.js +2 -0
  35. package/dist/core/types/xrp.js.map +1 -0
  36. package/dist/core/wallets.js +39 -0
  37. package/dist/core/wallets.js.map +1 -1
  38. package/dist/core/xrp/config.d.ts +21 -0
  39. package/dist/core/xrp/config.js +61 -0
  40. package/dist/core/xrp/config.js.map +1 -0
  41. package/dist/hooks/chains/useSquidChains.js +1 -1
  42. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  43. package/dist/hooks/cosmos/useCosmos.js +5 -15
  44. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  45. package/dist/hooks/index.d.ts +4 -0
  46. package/dist/hooks/index.js +5 -0
  47. package/dist/hooks/index.js.map +1 -1
  48. package/dist/hooks/squid/useSquid.js +1 -1
  49. package/dist/hooks/squid/useSquid.js.map +1 -1
  50. package/dist/hooks/store/useWalletStore.js +5 -6
  51. package/dist/hooks/store/useWalletStore.js.map +1 -1
  52. package/dist/hooks/swap/useSwap.js +9 -3
  53. package/dist/hooks/swap/useSwap.js.map +1 -1
  54. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
  55. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +12 -1
  56. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  57. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -6
  58. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +34 -16
  59. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  60. package/dist/hooks/tokens/useBalance.d.ts +18 -246
  61. package/dist/hooks/tokens/useBalance.js +65 -26
  62. package/dist/hooks/tokens/useBalance.js.map +1 -1
  63. package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
  64. package/dist/hooks/tokens/useMultiChainBalance.js +38 -35
  65. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  66. package/dist/hooks/tokens/useNativeBalance.d.ts +16 -18
  67. package/dist/hooks/tokens/useNativeBalance.js +122 -56
  68. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  69. package/dist/hooks/tokens/useNativeTokenForChain.js +6 -4
  70. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  71. package/dist/hooks/tokens/useSquidTokens.d.ts +2 -11
  72. package/dist/hooks/tokens/useSquidTokens.js +8 -16
  73. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  74. package/dist/hooks/transaction/useEstimate.js +1 -1
  75. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  76. package/dist/hooks/transaction/useExecuteTransaction.d.ts +0 -2
  77. package/dist/hooks/transaction/useExecuteTransaction.js +95 -43
  78. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  79. package/dist/hooks/transaction/useGetRoute.d.ts +7 -8
  80. package/dist/hooks/transaction/useGetRoute.js +165 -7
  81. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  82. package/dist/hooks/transaction/useSingleTransaction.js +1 -1
  83. package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
  84. package/dist/hooks/user/useUserParams.js +1 -1
  85. package/dist/hooks/user/useUserParams.js.map +1 -1
  86. package/dist/hooks/wallet/useIntegratorContext.js +1 -1
  87. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
  88. package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -3
  89. package/dist/hooks/wallet/useMultiChainWallet.js +32 -25
  90. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  91. package/dist/hooks/wallet/useSigner.d.ts +2 -2
  92. package/dist/hooks/wallet/useSigner.js +32 -3
  93. package/dist/hooks/wallet/useSigner.js.map +1 -1
  94. package/dist/hooks/wallet/useWallet.d.ts +1 -1
  95. package/dist/hooks/wallet/useWallet.js +14 -5
  96. package/dist/hooks/wallet/useWallet.js.map +1 -1
  97. package/dist/hooks/xrp/useXrp.d.ts +7 -0
  98. package/dist/hooks/xrp/useXrp.js +22 -0
  99. package/dist/hooks/xrp/useXrp.js.map +1 -0
  100. package/dist/hooks/xrp/useXrpPrice.d.ts +1 -0
  101. package/dist/hooks/xrp/useXrpPrice.js +12 -0
  102. package/dist/hooks/xrp/useXrpPrice.js.map +1 -0
  103. package/dist/hooks/xrp/useXrplTrustLine.d.ts +6 -0
  104. package/dist/hooks/xrp/useXrplTrustLine.js +103 -0
  105. package/dist/hooks/xrp/useXrplTrustLine.js.map +1 -0
  106. package/dist/provider/index.d.ts +1 -1
  107. package/dist/provider/index.js +7 -7
  108. package/dist/provider/index.js.map +1 -1
  109. package/dist/services/external/rpcService.d.ts +8 -6
  110. package/dist/services/external/rpcService.js +53 -16
  111. package/dist/services/external/rpcService.js.map +1 -1
  112. package/dist/services/external/xrplRpcClient.d.ts +46 -0
  113. package/dist/services/external/xrplRpcClient.js +144 -0
  114. package/dist/services/external/xrplRpcClient.js.map +1 -0
  115. package/dist/services/index.d.ts +2 -0
  116. package/dist/services/index.js +3 -0
  117. package/dist/services/index.js.map +1 -1
  118. package/dist/services/internal/assetsService.d.ts +5 -5
  119. package/dist/services/internal/assetsService.js +374 -5
  120. package/dist/services/internal/assetsService.js.map +1 -1
  121. package/dist/services/internal/cosmosService.d.ts +3 -13
  122. package/dist/services/internal/cosmosService.js +1 -1
  123. package/dist/services/internal/cosmosService.js.map +1 -1
  124. package/dist/services/internal/errorService.d.ts +15 -0
  125. package/dist/services/internal/errorService.js +9 -3
  126. package/dist/services/internal/errorService.js.map +1 -1
  127. package/dist/services/internal/evmService.d.ts +2 -5
  128. package/dist/services/internal/evmService.js.map +1 -1
  129. package/dist/services/internal/searchService.d.ts +1 -1
  130. package/dist/services/internal/searchService.js +14 -3
  131. package/dist/services/internal/searchService.js.map +1 -1
  132. package/dist/services/internal/solanaService.d.ts +2 -5
  133. package/dist/services/internal/solanaService.js.map +1 -1
  134. package/dist/services/internal/transactionService.d.ts +0 -1
  135. package/dist/services/internal/transactionService.js +9 -2
  136. package/dist/services/internal/transactionService.js.map +1 -1
  137. package/dist/services/internal/walletService.d.ts +20 -11
  138. package/dist/services/internal/walletService.js +24 -20
  139. package/dist/services/internal/walletService.js.map +1 -1
  140. package/dist/services/internal/xrpService.d.ts +38 -0
  141. package/dist/services/internal/xrpService.js +178 -0
  142. package/dist/services/internal/xrpService.js.map +1 -0
  143. package/dist/services/internal/xrpStatusService.d.ts +4 -0
  144. package/dist/services/internal/xrpStatusService.js +102 -0
  145. package/dist/services/internal/xrpStatusService.js.map +1 -0
  146. package/dist/tests/searchService.test.js +6 -0
  147. package/dist/tests/searchService.test.js.map +1 -1
  148. 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 chainRpc - rpc url
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: (chainRpc: string, address: string, tokenAddress: string) => Promise<string>;
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, chains: ChainData[]) => Promise<TokenWithBalance[]>;
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 (error) {
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 chainRpc - rpc url
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 (chainRpc, address, tokenAddress) => {
162
- const client = await StargateClient.connect(chainRpc);
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() === nativeEvmTokenAddress.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((acc) => acc.account.data.parsed.info.mint.toLowerCase() ===
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, chains) => {
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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"}
@@ -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";
@@ -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?: "from" | "to" | undefined;
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?: "from" | "to" | undefined;
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 const assetsBaseUrl = "https://raw.githubusercontent.com/0xsquid/assets/main";
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
  /**