@0xsquid/react-hooks 6.4.4-xrpl-beta.0 → 6.4.4-xrpl-beta.2

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 (146) hide show
  1. package/dist/core/connectors/xrp/CrossMark.d.ts +12 -6
  2. package/dist/core/connectors/xrp/CrossMark.js +42 -2
  3. package/dist/core/connectors/xrp/CrossMark.js.map +1 -1
  4. package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +6 -4
  5. package/dist/core/connectors/xrp/XrpMetamaskSnap.js +29 -20
  6. package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +1 -1
  7. package/dist/core/constants.d.ts +7 -6
  8. package/dist/core/constants.js +16 -15
  9. package/dist/core/constants.js.map +1 -1
  10. package/dist/core/externalLinks.d.ts +1 -1
  11. package/dist/core/externalLinks.js +1 -1
  12. package/dist/core/providers/SuiProvider.d.ts +19 -0
  13. package/dist/core/providers/SuiProvider.js +15 -0
  14. package/dist/core/providers/SuiProvider.js.map +1 -0
  15. package/dist/core/providers/XrpProvider.d.ts +17 -0
  16. package/dist/core/providers/XrpProvider.js +15 -0
  17. package/dist/core/providers/XrpProvider.js.map +1 -0
  18. package/dist/core/types/rpc.d.ts +10 -0
  19. package/dist/core/types/rpc.js +2 -0
  20. package/dist/core/types/rpc.js.map +1 -0
  21. package/dist/core/types/sui.d.ts +14 -0
  22. package/dist/core/types/sui.js +2 -0
  23. package/dist/core/types/sui.js.map +1 -0
  24. package/dist/core/types/wallet.d.ts +19 -11
  25. package/dist/core/types/wallet.js.map +1 -1
  26. package/dist/core/types/xrp.d.ts +16 -5
  27. package/dist/core/types/xrp.js +5 -1
  28. package/dist/core/types/xrp.js.map +1 -1
  29. package/dist/core/wagmiConfig.js +2 -8
  30. package/dist/core/wagmiConfig.js.map +1 -1
  31. package/dist/core/wallets.d.ts +1 -0
  32. package/dist/core/wallets.js +16 -19
  33. package/dist/core/wallets.js.map +1 -1
  34. package/dist/hooks/chains/useSquidChains.d.ts +1 -0
  35. package/dist/hooks/chains/useSquidChains.js +22 -3
  36. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  37. package/dist/hooks/cosmos/useCosmos.js +10 -5
  38. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  39. package/dist/hooks/solana/useSolana.js +8 -2
  40. package/dist/hooks/solana/useSolana.js.map +1 -1
  41. package/dist/hooks/store/useWalletStore.d.ts +5 -5
  42. package/dist/hooks/store/useWalletStore.js +9 -15
  43. package/dist/hooks/store/useWalletStore.js.map +1 -1
  44. package/dist/hooks/sui/useSui.d.ts +2 -0
  45. package/dist/hooks/sui/useSui.js +28 -0
  46. package/dist/hooks/sui/useSui.js.map +1 -0
  47. package/dist/hooks/sui/useSuiClient.d.ts +9 -0
  48. package/dist/hooks/sui/useSuiClient.js +16 -0
  49. package/dist/hooks/sui/useSuiClient.js.map +1 -0
  50. package/dist/hooks/sui/useSuiWallets.d.ts +7 -0
  51. package/dist/hooks/sui/useSuiWallets.js +36 -0
  52. package/dist/hooks/sui/useSuiWallets.js.map +1 -0
  53. package/dist/hooks/swap/useSwap.js +0 -6
  54. package/dist/hooks/swap/useSwap.js.map +1 -1
  55. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
  56. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +15 -4
  57. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  58. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +1 -1
  59. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +17 -8
  60. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  61. package/dist/hooks/tokens/useBalance.d.ts +1 -0
  62. package/dist/hooks/tokens/useBalance.js +27 -4
  63. package/dist/hooks/tokens/useBalance.js.map +1 -1
  64. package/dist/hooks/tokens/useMultiChainBalance.js +12 -3
  65. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  66. package/dist/hooks/tokens/useNativeBalance.d.ts +1 -0
  67. package/dist/hooks/tokens/useNativeBalance.js +36 -5
  68. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  69. package/dist/hooks/tokens/useNativeTokenForChain.js +4 -2
  70. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  71. package/dist/hooks/tokens/useSquidTokens.d.ts +1 -0
  72. package/dist/hooks/tokens/useSquidTokens.js +7 -2
  73. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  74. package/dist/hooks/transaction/useExecuteTransaction.js +96 -45
  75. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  76. package/dist/hooks/transaction/useGetRoute.d.ts +7 -7
  77. package/dist/hooks/transaction/useGetRoute.js +1 -1
  78. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  79. package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -0
  80. package/dist/hooks/wallet/useMultiChainWallet.js +18 -6
  81. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  82. package/dist/hooks/wallet/useSigner.d.ts +2 -1
  83. package/dist/hooks/wallet/useSigner.js +10 -3
  84. package/dist/hooks/wallet/useSigner.js.map +1 -1
  85. package/dist/hooks/wallet/useWallet.d.ts +58 -7
  86. package/dist/hooks/wallet/useWallet.js +29 -9
  87. package/dist/hooks/wallet/useWallet.js.map +1 -1
  88. package/dist/hooks/wallet/useWallets.d.ts +29 -1
  89. package/dist/hooks/wallet/useWallets.js +7 -1
  90. package/dist/hooks/wallet/useWallets.js.map +1 -1
  91. package/dist/hooks/xrp/useXrp.d.ts +2 -7
  92. package/dist/hooks/xrp/useXrp.js +8 -9
  93. package/dist/hooks/xrp/useXrp.js.map +1 -1
  94. package/dist/hooks/xrp/useXrpWallets.d.ts +4 -0
  95. package/dist/hooks/xrp/useXrpWallets.js +11 -0
  96. package/dist/hooks/xrp/useXrpWallets.js.map +1 -0
  97. package/dist/provider/index.js +6 -2
  98. package/dist/provider/index.js.map +1 -1
  99. package/dist/services/external/rpcService.d.ts +6 -2
  100. package/dist/services/external/rpcService.js +94 -57
  101. package/dist/services/external/rpcService.js.map +1 -1
  102. package/dist/services/external/suiRpcClient.d.ts +32 -0
  103. package/dist/services/external/suiRpcClient.js +80 -0
  104. package/dist/services/external/suiRpcClient.js.map +1 -0
  105. package/dist/services/internal/assetsService.d.ts +2 -2
  106. package/dist/services/internal/assetsService.js +11 -126
  107. package/dist/services/internal/assetsService.js.map +1 -1
  108. package/dist/services/internal/bitcoinService.d.ts +3 -5
  109. package/dist/services/internal/bitcoinService.js.map +1 -1
  110. package/dist/services/internal/configService.js +7 -2
  111. package/dist/services/internal/configService.js.map +1 -1
  112. package/dist/services/internal/cosmosService.d.ts +2 -2
  113. package/dist/services/internal/cosmosService.js.map +1 -1
  114. package/dist/services/internal/errorService.js +26 -2
  115. package/dist/services/internal/errorService.js.map +1 -1
  116. package/dist/services/internal/estimateService.js +2 -2
  117. package/dist/services/internal/estimateService.js.map +1 -1
  118. package/dist/services/internal/evmService.d.ts +2 -2
  119. package/dist/services/internal/evmService.js.map +1 -1
  120. package/dist/services/internal/numberService.d.ts +0 -1
  121. package/dist/services/internal/numberService.js +0 -15
  122. package/dist/services/internal/numberService.js.map +1 -1
  123. package/dist/services/internal/solanaService.d.ts +2 -2
  124. package/dist/services/internal/solanaService.js.map +1 -1
  125. package/dist/services/internal/suiService.d.ts +9 -0
  126. package/dist/services/internal/suiService.js +88 -0
  127. package/dist/services/internal/suiService.js.map +1 -0
  128. package/dist/services/internal/transactionService.js +2 -1
  129. package/dist/services/internal/transactionService.js.map +1 -1
  130. package/dist/services/internal/walletService.d.ts +14 -9
  131. package/dist/services/internal/walletService.js +42 -8
  132. package/dist/services/internal/walletService.js.map +1 -1
  133. package/dist/services/internal/xrpService.d.ts +2 -19
  134. package/dist/services/internal/xrpService.js +4 -73
  135. package/dist/services/internal/xrpService.js.map +1 -1
  136. package/dist/tests/numberService.test.js +1 -12
  137. package/dist/tests/numberService.test.js.map +1 -1
  138. package/dist/tests/swapConfig.test.js +72 -7
  139. package/dist/tests/swapConfig.test.js.map +1 -1
  140. package/package.json +6 -3
  141. package/dist/core/types/route.d.ts +0 -9
  142. package/dist/core/types/route.js +0 -4
  143. package/dist/core/types/route.js.map +0 -1
  144. package/dist/core/xrp/config.d.ts +0 -21
  145. package/dist/core/xrp/config.js +0 -53
  146. package/dist/core/xrp/config.js.map +0 -1
@@ -1,22 +1,73 @@
1
1
  import type { ChainData } from "@0xsquid/squid-types";
2
2
  import { ChainType } from "@0xsquid/squid-types";
3
- import type { Wallet } from "../../core/types/wallet";
3
+ import type { EvmWallet, Wallet } from "../../core/types/wallet";
4
4
  export declare const useWallet: () => {
5
- wallets: Wallet[];
5
+ wallets: (({
6
+ name: string;
7
+ connectorId: import("../../core/types/wallet").ConnectorID;
8
+ connectorName: string;
9
+ icon: string | undefined;
10
+ windowFlag: import("../../core/types/wallet").WindowWalletFlag;
11
+ canSwitchWallets?: boolean | undefined;
12
+ isMobile?: boolean | undefined;
13
+ isInstalled?: (() => boolean) | undefined;
14
+ skipInstallCheck?: boolean | undefined;
15
+ rdns?: string | undefined;
16
+ } & {
17
+ isMultiChain: true;
18
+ supportedNetworks: import("../../core/types/wallet").NetworkConfig[];
19
+ }) | ({
20
+ name: string;
21
+ connectorId: import("../../core/types/wallet").ConnectorID;
22
+ connectorName: string;
23
+ icon: string | undefined;
24
+ windowFlag: import("../../core/types/wallet").WindowWalletFlag;
25
+ canSwitchWallets?: boolean | undefined;
26
+ isMobile?: boolean | undefined;
27
+ isInstalled?: (() => boolean) | undefined;
28
+ skipInstallCheck?: boolean | undefined;
29
+ rdns?: string | undefined;
30
+ } & {
31
+ isMultiChain?: false | undefined;
32
+ type: ChainType;
33
+ }))[];
6
34
  connectedWallets: Wallet[];
7
- connectedWalletsByChainType: Record<ChainType, {
8
- wallet: Wallet | undefined;
9
- address: string | undefined;
10
- }>;
35
+ connectedWalletsByChainType: {
36
+ evm: Partial<{
37
+ wallet: EvmWallet;
38
+ address: string;
39
+ }>;
40
+ cosmos: Partial<{
41
+ wallet: import("../../core/types/wallet").CosmosWallet;
42
+ address: string;
43
+ }>;
44
+ solana: Partial<{
45
+ wallet: import("../../core/types/wallet").SolanaWallet;
46
+ address: string;
47
+ }>;
48
+ bitcoin: Partial<{
49
+ wallet: import("../../core/types/wallet").BitcoinWallet;
50
+ address: string;
51
+ }>;
52
+ sui: Partial<{
53
+ wallet: import("../../core/types/wallet").SuiWallet;
54
+ address: string;
55
+ } & import("../../core/types/sui").SuiAccount>;
56
+ xrpl: Partial<{
57
+ wallet: import("../../core/types/wallet").XrpWallet;
58
+ address: string;
59
+ }>;
60
+ };
11
61
  connectedAddresses: Record<ChainType, string | undefined>;
12
62
  connectingWalletState: import("../store/useWalletStore").ConnectingWalletState;
13
63
  changeWallet: () => Promise<void>;
14
64
  disconnectWallet: (chainType: ChainType) => Promise<void>;
15
- connectWallet: import("@tanstack/react-query").UseMutateAsyncFunction<boolean | undefined, unknown, {
65
+ connectWallet: import("@tanstack/react-query").UseMutateAsyncFunction<boolean, unknown, {
16
66
  wallet: Wallet;
17
67
  chain?: ChainData | undefined;
18
68
  selectedChainTypes?: ChainType[] | undefined;
19
69
  }, unknown>;
70
+ cancelConnectWallet: () => void;
20
71
  isWalletConnected: (wallet: Wallet) => boolean;
21
72
  isChainTypeConnected: (chainType: ChainType | undefined) => boolean;
22
73
  };
@@ -4,11 +4,12 @@ import { useCallback, useEffect, useMemo } from "react";
4
4
  import { useAccount, useConnect, useDisconnect, useWalletClient } from "wagmi";
5
5
  import { useCosmosContext } from "../../core/providers/CosmosProvider";
6
6
  import { useSolanaContext } from "../../core/providers/SolanaProvider";
7
- import { connectWallet as connectWalletServiceMethod, findWalletByWagmiConnector, getWalletSupportedChainTypes, redirectToExtensionsStore, } from "../../services/internal/walletService";
7
+ import { useSuiContext } from "../../core/providers/SuiProvider";
8
+ import { useXrpContext } from "../../core/providers/XrpProvider";
9
+ import { cancelConnectWallet as cancelConnectWalletServiceMethod, connectWallet as connectWalletServiceMethod, findWalletByWagmiConnector, getWalletSupportedChainTypes, redirectToExtensionsStore, } from "../../services/internal/walletService";
8
10
  import { useSquidChains } from "../chains/useSquidChains";
9
11
  import { useConfigStore } from "../store/useSquidStore";
10
12
  import { ConnectingWalletStatus, useWalletStore, } from "../store/useWalletStore";
11
- import { useXrp } from "../xrp/useXrp";
12
13
  import { useGnosisContext } from "./useGnosisContext";
13
14
  import { useWallets } from "./useWallets";
14
15
  export const useWallet = () => {
@@ -16,7 +17,8 @@ export const useWallet = () => {
16
17
  const { disconnectAsync: disconnectEvm } = useDisconnect();
17
18
  const { connectCosmos, cosmosConnectedWallet } = useCosmosContext();
18
19
  const { connectSolana } = useSolanaContext();
19
- const { connectXrp } = useXrp();
20
+ const { connectSui, disconnectSui } = useSuiContext();
21
+ const { connectXrp } = useXrpContext();
20
22
  const { connectAsync: connectEvmAsync } = useConnect();
21
23
  const { findChain } = useSquidChains();
22
24
  const { isGnosisConnected, gnosisAddress } = useGnosisContext();
@@ -46,14 +48,14 @@ export const useWallet = () => {
46
48
  connectCosmos,
47
49
  cosmosConnectedWallet,
48
50
  connectSolana,
51
+ connectSui,
49
52
  connectXrp,
50
53
  selectedChainTypes,
51
54
  findChain,
52
55
  });
53
56
  if (result) {
54
- // Set connected wallet for each chain type with its corresponding address
55
- result.addresses.forEach(({ chainType, address }) => {
56
- setConnectedWallet(result.wallet, address, chainType);
57
+ result.addresses.forEach(({ chainType, data }) => {
58
+ setConnectedWallet(chainType, data);
57
59
  });
58
60
  setConnectingWallet({
59
61
  status: ConnectingWalletStatus.IDLE,
@@ -63,11 +65,13 @@ export const useWallet = () => {
63
65
  }
64
66
  else {
65
67
  walletConnectionRejected(wallet);
68
+ return false;
66
69
  }
67
70
  }
68
71
  catch (error) {
69
72
  console.error("Failed to connect wallet", error);
70
73
  walletConnectionRejected(wallet);
74
+ return false;
71
75
  }
72
76
  },
73
77
  });
@@ -80,6 +84,9 @@ export const useWallet = () => {
80
84
  case ChainType.SOLANA:
81
85
  // Solana disconnect is handled by the wallet adapter events
82
86
  break;
87
+ case ChainType.SUI:
88
+ disconnectSui();
89
+ break;
83
90
  default:
84
91
  // TODO: Implement disconnect for other chains
85
92
  break;
@@ -92,6 +99,15 @@ export const useWallet = () => {
92
99
  storeDisconnectWallet(chainType);
93
100
  }
94
101
  };
102
+ const cancelConnectWallet = useCallback(() => {
103
+ if (connectingWalletState.wallet) {
104
+ cancelConnectWalletServiceMethod(connectingWalletState.wallet);
105
+ }
106
+ setConnectingWallet({
107
+ status: ConnectingWalletStatus.IDLE,
108
+ wallet: undefined,
109
+ });
110
+ }, [connectingWalletState.wallet, setConnectingWallet]);
95
111
  const { data: walletClient } = useWalletClient();
96
112
  const changeWallet = async () => {
97
113
  try {
@@ -154,6 +170,7 @@ export const useWallet = () => {
154
170
  changeWallet,
155
171
  disconnectWallet,
156
172
  connectWallet: connectWalletMutation.mutateAsync,
173
+ cancelConnectWallet,
157
174
  isWalletConnected,
158
175
  isChainTypeConnected,
159
176
  };
@@ -172,14 +189,17 @@ export const useEvmWalletListener = () => {
172
189
  address &&
173
190
  connector &&
174
191
  !isConnecting &&
175
- !evmConnectedWallet.wallet &&
192
+ !evmConnectedWallet?.wallet &&
176
193
  !isDisconnected) {
177
194
  const wallet = findWalletByWagmiConnector(wallets, connector);
178
195
  // TODO: implement evm listener for multichain wallets
179
196
  if (!wallet || wallet.isMultiChain)
180
197
  return;
181
198
  if (wallet.type === ChainType.EVM) {
182
- setConnectedWallet(wallet, address, ChainType.EVM);
199
+ setConnectedWallet(ChainType.EVM, {
200
+ wallet: wallet,
201
+ address,
202
+ });
183
203
  }
184
204
  }
185
205
  else if (isDisconnected && evmConnectedWallet.wallet) {
@@ -189,7 +209,7 @@ export const useEvmWalletListener = () => {
189
209
  address,
190
210
  connector,
191
211
  disconnectWallet,
192
- evmConnectedWallet.wallet,
212
+ evmConnectedWallet?.wallet,
193
213
  isConnected,
194
214
  isConnecting,
195
215
  isDisconnected,
@@ -1 +1 @@
1
- {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,31 @@
1
1
  export declare const useWallets: () => {
2
- wallets: import("../..").Wallet[];
2
+ wallets: (({
3
+ name: string;
4
+ connectorId: import("../..").ConnectorID;
5
+ connectorName: string;
6
+ icon: string | undefined;
7
+ windowFlag: import("../../core/types/wallet").WindowWalletFlag;
8
+ canSwitchWallets?: boolean | undefined;
9
+ isMobile?: boolean | undefined;
10
+ isInstalled?: (() => boolean) | undefined;
11
+ skipInstallCheck?: boolean | undefined;
12
+ rdns?: string | undefined;
13
+ } & {
14
+ isMultiChain: true;
15
+ supportedNetworks: import("../..").NetworkConfig[];
16
+ }) | ({
17
+ name: string;
18
+ connectorId: import("../..").ConnectorID;
19
+ connectorName: string;
20
+ icon: string | undefined;
21
+ windowFlag: import("../../core/types/wallet").WindowWalletFlag;
22
+ canSwitchWallets?: boolean | undefined;
23
+ isMobile?: boolean | undefined;
24
+ isInstalled?: (() => boolean) | undefined;
25
+ skipInstallCheck?: boolean | undefined;
26
+ rdns?: string | undefined;
27
+ } & {
28
+ isMultiChain?: false | undefined;
29
+ type: import("@0xsquid/squid-types").ChainType;
30
+ }))[];
3
31
  };
@@ -1,9 +1,15 @@
1
1
  import { useMemo } from "react";
2
+ import { useSuiContext } from "../../core/providers/SuiProvider";
3
+ import { useXrpContext } from "../../core/providers/XrpProvider";
2
4
  import { getWallets } from "../../services/internal/walletService";
3
5
  import { useClient } from "../client/useClient";
4
6
  export const useWallets = () => {
5
7
  const { clientWindow } = useClient();
6
- const wallets = useMemo(() => getWallets(clientWindow), [clientWindow]);
8
+ const { wallets: suiWallets } = useSuiContext();
9
+ const { wallets: xrpWallets } = useXrpContext();
10
+ const wallets = useMemo(() => {
11
+ return [...getWallets(clientWindow), ...suiWallets, ...xrpWallets];
12
+ }, [clientWindow, suiWallets, xrpWallets]);
7
13
  return {
8
14
  wallets,
9
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useWallets.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IAErC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useWallets.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAChD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,2 @@
1
- import { ConnectWalletResult, XrpConnector, XrpWallet } from "../../core/types/wallet";
2
- export declare const useXrp: () => {
3
- connectXrp: import("@tanstack/react-query").UseMutationResult<ConnectWalletResult, unknown, {
4
- wallet: XrpWallet;
5
- }, unknown>;
6
- signer: XrpConnector | undefined;
7
- };
1
+ import { IXrpContextData } from "../../core/providers/XrpProvider";
2
+ export declare function useXrp(): IXrpContextData;
@@ -1,22 +1,21 @@
1
1
  import { ChainType } from "@0xsquid/squid-types";
2
2
  import { useMutation } from "@tanstack/react-query";
3
- import { useMemo } from "react";
4
3
  import { useWalletStore } from "../store/useWalletStore";
5
- export const useXrp = () => {
6
- const connectedWallet = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.XRP]);
7
- const connectXrp = useMutation(async ({ wallet }) => {
4
+ import { useXrpWallets } from "./useXrpWallets";
5
+ export function useXrp() {
6
+ const { wallets } = useXrpWallets();
7
+ const connectedXrpWallet = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.XRPL]);
8
+ const connectXrp = useMutation(async ({ wallet, }) => {
8
9
  const xrpConnectedAddress = await wallet.connector.connect();
9
10
  return {
10
11
  wallet,
11
12
  address: xrpConnectedAddress,
12
13
  };
13
14
  });
14
- const signer = useMemo(() => {
15
- return connectedWallet?.wallet?.connector;
16
- }, [connectedWallet?.wallet?.connector]);
17
15
  return {
16
+ wallets,
18
17
  connectXrp,
19
- signer,
18
+ signer: connectedXrpWallet?.wallet?.connector,
20
19
  };
21
- };
20
+ }
22
21
  //# sourceMappingURL=useXrp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useXrp.js","sourceRoot":"","sources":["../../../src/hooks/xrp/useXrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,eAAe,GAAG,cAAc,CACpC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAKlC,CAChB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,EAAE,MAAM,EAAyB,EAAgC,EAAE;QACxE,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE7D,OAAO;YACL,MAAM;YACN,OAAO,EAAE,mBAAmB;SAC7B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,MAAM,GAA6B,OAAO,CAAC,GAAG,EAAE;QACpD,OAAO,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC;IAC5C,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useXrp.js","sourceRoot":"","sources":["../../../src/hooks/xrp/useXrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,MAAM;IACpB,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,kBAAkB,GAAG,cAAc,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7D,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,EACL,MAAM,GAGP,EAAgD,EAAE;QACjD,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE7D,OAAO;YACL,MAAM;YACN,OAAO,EAAE,mBAAmB;SAC7B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO;QACL,OAAO;QACP,UAAU;QACV,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS;KAC9C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { XrpWallet } from "../../core/types/wallet";
2
+ export declare function useXrpWallets(): {
3
+ wallets: XrpWallet[];
4
+ };
@@ -0,0 +1,11 @@
1
+ import { useMemo } from "react";
2
+ export function useXrpWallets() {
3
+ const wallets = useMemo(() => {
4
+ // TODO: add Xaman wallets
5
+ return [];
6
+ }, []);
7
+ return {
8
+ wallets,
9
+ };
10
+ }
11
+ //# sourceMappingURL=useXrpWallets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useXrpWallets.js","sourceRoot":"","sources":["../../../src/hooks/xrp/useXrpWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAgB,OAAO,CAAC,GAAG,EAAE;QACxC,0BAA0B;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -7,6 +7,8 @@ import { injected } from "wagmi/connectors";
7
7
  import { squidApiBaseUrl } from "../core/externalLinks";
8
8
  import { CosmosProvider } from "../core/providers/CosmosProvider";
9
9
  import { SolanaProvider } from "../core/providers/SolanaProvider";
10
+ import { SuiProvider } from "../core/providers/SuiProvider";
11
+ import { XrpProvider } from "../core/providers/XrpProvider";
10
12
  import { defaultOptions } from "../core/queries/react-query-config";
11
13
  import { createWagmiConfig } from "../core/wagmiConfig";
12
14
  import { useAssetsColorsStore } from "../hooks/store/useAssetsColorsStore";
@@ -105,7 +107,9 @@ export const SquidProvider = ({ children, config, placeholder, }) => {
105
107
  }, [initializeSdk]);
106
108
  return wagmiConfig ? (React.createElement(WagmiProvider, { config: wagmiConfig },
107
109
  React.createElement(QueryClientProvider, { client: queryClient },
108
- React.createElement(SolanaProvider, null,
109
- React.createElement(CosmosProvider, null, children))))) : (placeholder);
110
+ React.createElement(SuiProvider, null,
111
+ React.createElement(XrpProvider, null,
112
+ React.createElement(SolanaProvider, null,
113
+ React.createElement(CosmosProvider, null, children))))))) : (placeholder);
110
114
  };
111
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provider/index.tsx"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ export declare const getAllCosmosBalancesForChain: ({ rpc, address, tokens, }: {
32
32
  * @param {CosmosChain[]} params.cosmosChains
33
33
  * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
34
34
  */
35
- export declare const getAllCosmosBalancesForAddress: ({ addresses, cosmosTokens, cosmosChains, }: {
35
+ export declare const getAllCosmosBalances: ({ addresses, cosmosTokens, cosmosChains, }: {
36
36
  addresses: {
37
37
  chainId: string;
38
38
  address: string;
@@ -48,6 +48,11 @@ export declare const getSolanaTokensBalance: (userAddress: string, tokenAddresse
48
48
  export declare const getAllSolanaTokensBalance: (solanaTokens: Token[], userAddress: string) => Promise<TokenWithBalance[]>;
49
49
  export declare function getBitcoinNativeBalance(address: string): Promise<string>;
50
50
  export declare const getAllBitcoinTokensBalance: (userAddress: string, bitcoinTokens: Token[]) => Promise<TokenWithBalance[]>;
51
+ /**
52
+ * Returns the balance of a single Sui coin for a given address
53
+ */
54
+ export declare const getSuiTokenBalance: (userAddress: string, tokenAddress: string, rpcUrl: string) => Promise<bigint>;
55
+ export declare const getAllSuiTokensBalance: (userAddress: string, suiTokens: Token[], suiChains: ChainData[]) => Promise<TokenWithBalance[]>;
51
56
  export declare const getXrpTokenBalance: (userAddress: string, tokenAddress: string, wsUrl: string) => Promise<bigint>;
52
57
  export declare const getAllXrpTokensBalance: (userAddress: string, xrpTokens: Token[], rpcUrl: string | undefined) => Promise<TokenWithBalance[]>;
53
58
  /**
@@ -56,4 +61,3 @@ export declare const getAllXrpTokensBalance: (userAddress: string, xrpTokens: To
56
61
  * @param promise - the promise to wait for
57
62
  */
58
63
  export declare function timeout<T>(ms: number, promise: Promise<T>): Promise<T | null>;
59
- export declare function getXRPPrice(): Promise<number>;
@@ -1,14 +1,14 @@
1
1
  import { ChainType, } from "@0xsquid/squid-types";
2
2
  import { StargateClient } from "@cosmjs/stargate";
3
+ import { ethers, Interface, JsonRpcProvider, parseUnits } from "ethers";
4
+ import { erc20Abi } from "viem";
3
5
  import { CHAIN_IDS, nativeEvmTokenAddress, nativeSolanaTokenAddress, SOLANA_RPC_URL, } from "../../core/constants";
4
6
  import { multicallAbi, multicallAddress } from "../../core/multicall3";
5
- import { ethers, Interface, JsonRpcProvider } from "ethers";
6
- import { erc20Abi } from "viem";
7
- import { XRPL_ENV, XrplEnv } from "../../core/xrp/config";
8
7
  import { normalizeIbcAddress } from "../internal/assetsService";
9
8
  import { isBitcoinAddressValid } from "../internal/bitcoinService";
10
9
  import { formatBNToReadable } from "../internal/numberService";
11
- import { isXrpAddressValid } from "../internal/xrpService";
10
+ // import { isXrpAddressValid } from "../internal/xrpService";
11
+ import { SuiRpcClient } from "./suiRpcClient";
12
12
  const isTokenNative = (token) => token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
13
13
  const getTokenAddressForMultiCall = (t) => {
14
14
  return isTokenNative(t)
@@ -143,7 +143,7 @@ export const getWorkingCosmosRpcUrl = async (chainData) => {
143
143
  for (const rpc of rpcList) {
144
144
  try {
145
145
  // eslint-disable-next-line no-await-in-loop
146
- const isValid = await testCosmosRpc(rpc);
146
+ const isValid = await timeout(5_000, testCosmosRpc(rpc));
147
147
  if (isValid) {
148
148
  return rpc;
149
149
  }
@@ -163,7 +163,7 @@ export const getWorkingCosmosRpcUrl = async (chainData) => {
163
163
  * @returns balance as formatted string
164
164
  */
165
165
  export const getCosmosTokenBalance = async (chain, address, tokenAddress) => {
166
- const validRpc = await timeout(4_000, getWorkingCosmosRpcUrl(chain));
166
+ const validRpc = await getWorkingCosmosRpcUrl(chain);
167
167
  if (!validRpc)
168
168
  return "0";
169
169
  const client = await StargateClient.connect(validRpc);
@@ -201,7 +201,7 @@ export const getAllCosmosBalancesForChain = async ({ rpc, address, tokens, }) =>
201
201
  * @param {CosmosChain[]} params.cosmosChains
202
202
  * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
203
203
  */
204
- export const getAllCosmosBalancesForAddress = async ({ addresses, cosmosTokens, cosmosChains, }) => {
204
+ export const getAllCosmosBalances = async ({ addresses, cosmosTokens, cosmosChains, }) => {
205
205
  const tokensWithBalance = [];
206
206
  await Promise.all(cosmosChains.map(async (cosmosChain) => {
207
207
  const userAddress = addresses.find((a) => a.chainId === cosmosChain.chainId)?.address;
@@ -378,6 +378,43 @@ export const getAllBitcoinTokensBalance = async (userAddress, bitcoinTokens) =>
378
378
  };
379
379
  }));
380
380
  };
381
+ /**
382
+ * Returns the balance of a single Sui coin for a given address
383
+ */
384
+ export const getSuiTokenBalance = async (userAddress, tokenAddress, rpcUrl) => {
385
+ const suiClient = new SuiRpcClient(rpcUrl);
386
+ const { totalBalance } = await suiClient.getBalance(userAddress, tokenAddress);
387
+ return BigInt(totalBalance || 0);
388
+ };
389
+ export const getAllSuiTokensBalance = async (userAddress, suiTokens, suiChains) => {
390
+ const getBalancesForChain = async (chain) => {
391
+ const tokensForChain = suiTokens.filter((t) => t.chainId === chain.chainId);
392
+ const suiClient = new SuiRpcClient(chain.rpc);
393
+ const foundBalances = await suiClient.getAllBalances(userAddress);
394
+ const balanceMap = foundBalances.reduce((acc, balance) => {
395
+ acc[balance.coinType] = balance.totalBalance;
396
+ return acc;
397
+ }, {});
398
+ return tokensForChain.map((token) => {
399
+ const balanceBn = BigInt(balanceMap[token.address] || 0);
400
+ return {
401
+ ...token,
402
+ balance: formatBNToReadable(balanceBn, token.decimals),
403
+ };
404
+ });
405
+ };
406
+ const allResults = await Promise.all(suiChains.map(getBalancesForChain));
407
+ return allResults.flat();
408
+ };
409
+ /**
410
+ * XRPL requires an initial amount to activate an account
411
+ * This balance is considered a "reserve" and cannot be spent
412
+ */
413
+ function getSpendableXrpBalance(balanceDrops) {
414
+ const XRP_RESERVE_AMOUNT = parseUnits("1", 6).toString();
415
+ const reserveDrops = BigInt(XRP_RESERVE_AMOUNT);
416
+ return balanceDrops > reserveDrops ? balanceDrops - reserveDrops : BigInt(0);
417
+ }
381
418
  const getXrpTokenBalanceRpc = async (userAddress, tokenAddress, rpcUrl) => {
382
419
  void tokenAddress;
383
420
  const response = await fetch(rpcUrl, {
@@ -389,49 +426,59 @@ const getXrpTokenBalanceRpc = async (userAddress, tokenAddress, rpcUrl) => {
389
426
  }),
390
427
  });
391
428
  const data = await response.json();
392
- return BigInt(data.result?.account_data?.Balance || 0);
393
- };
394
- const getXrpTokenBalanceWss = async (userAddress, tokenAddress, wsUrl) => {
395
- void tokenAddress;
396
- if (!isXrpAddressValid(userAddress)) {
397
- console.log(`Invalid XRP address: ${userAddress}`);
398
- return BigInt(0);
399
- }
400
- return new Promise((resolve, reject) => {
401
- const ws = new WebSocket(wsUrl);
402
- ws.onopen = () => {
403
- ws.send(JSON.stringify({
404
- id: 1,
405
- command: "account_info",
406
- account: userAddress,
407
- ledger_index: "validated",
408
- }));
409
- };
410
- ws.onmessage = (event) => {
411
- const data = JSON.parse(event.data);
412
- if (data.status === "success" && data.result?.account_data?.Balance) {
413
- resolve(BigInt(data.result.account_data.Balance));
414
- }
415
- else {
416
- reject(new Error("Failed to fetch XRP balance"));
417
- }
418
- ws.close();
419
- };
420
- ws.onerror = (error) => {
421
- reject(error);
422
- ws.close();
423
- };
424
- ws.onclose = () => {
425
- console.log("WebSocket connection closed");
426
- };
427
- });
429
+ const balanceDrops = BigInt(data.result?.account_data?.Balance || 0);
430
+ return getSpendableXrpBalance(balanceDrops);
428
431
  };
432
+ // const getXrpTokenBalanceWss = async (
433
+ // userAddress: string,
434
+ // tokenAddress: string,
435
+ // wsUrl: string
436
+ // ): Promise<bigint> => {
437
+ // void tokenAddress;
438
+ // if (!isXrpAddressValid(userAddress)) {
439
+ // console.log(`Invalid XRP address: ${userAddress}`);
440
+ // return BigInt(0);
441
+ // }
442
+ // return new Promise((resolve, reject) => {
443
+ // const ws = new WebSocket(wsUrl);
444
+ // ws.onopen = () => {
445
+ // ws.send(
446
+ // JSON.stringify({
447
+ // id: 1,
448
+ // command: "account_info",
449
+ // account: userAddress,
450
+ // ledger_index: "validated",
451
+ // })
452
+ // );
453
+ // };
454
+ // ws.onmessage = (event) => {
455
+ // const data = JSON.parse(event.data);
456
+ // if (
457
+ // data.status === "success" &&
458
+ // data.result?.account_data?.Balance != null
459
+ // ) {
460
+ // const balanceDrops = BigInt(data.result.account_data.Balance || 0);
461
+ // resolve(getSpendableXrpBalance(balanceDrops));
462
+ // } else {
463
+ // reject(new Error("Failed to fetch XRP balance"));
464
+ // }
465
+ // ws.close();
466
+ // };
467
+ // ws.onerror = (error) => {
468
+ // reject(error);
469
+ // ws.close();
470
+ // };
471
+ // ws.onclose = () => {
472
+ // console.log("WebSocket connection closed");
473
+ // };
474
+ // });
475
+ // };
429
476
  // TODO: implement fetching balances for all XRP tokens
430
477
  export const getXrpTokenBalance = async (userAddress, tokenAddress, wsUrl) => {
431
- // There's no public RPC for devnet
432
- if (XRPL_ENV === XrplEnv.DEVNET) {
433
- return getXrpTokenBalanceWss(userAddress, tokenAddress, wsUrl);
434
- }
478
+ // // There's no public RPC for devnet
479
+ // if (XRPL_ENV === XrplEnv.DEVNET) {
480
+ // return getXrpTokenBalanceWss(userAddress, tokenAddress, wsUrl);
481
+ // }
435
482
  return getXrpTokenBalanceRpc(userAddress, tokenAddress, wsUrl);
436
483
  };
437
484
  export const getAllXrpTokensBalance = async (userAddress, xrpTokens, rpcUrl) => {
@@ -471,14 +518,4 @@ export function timeout(ms, promise) {
471
518
  });
472
519
  return Promise.race([promise, timeoutPromise]);
473
520
  }
474
- export async function getXRPPrice() {
475
- try {
476
- const response = await fetch("https://api.coingecko.com/api/v3/simple/price?ids=ripple&vs_currencies=usd");
477
- const data = await response.json();
478
- return data.ripple.usd;
479
- }
480
- catch (error) {
481
- return 2.44;
482
- }
483
- }
484
521
  //# sourceMappingURL=rpcService.js.map