@0xsquid/react-hooks 6.4.1-beta.4 → 6.4.1-onramp-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/helpers.d.ts +0 -15
- package/dist/core/connectors/bitcoin/helpers.js +1 -6
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -1
- package/dist/core/constants.d.ts +3 -1
- package/dist/core/constants.js +3 -6
- 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/providers/SolanaProvider.d.ts +2 -0
- package/dist/core/providers/SolanaProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +26 -11
- package/dist/core/queries/queries-keys.js +81 -31
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +4 -4
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/event.d.ts +8 -0
- package/dist/core/types/index.d.ts +2 -4
- package/dist/core/types/index.js +1 -2
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/onramps/onramp.d.ts +76 -2
- package/dist/core/types/transaction.d.ts +32 -10
- package/dist/core/types/transaction.js +0 -6
- package/dist/core/types/transaction.js.map +1 -1
- package/dist/core/wagmiConfig.js +8 -2
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.d.ts +0 -9
- package/dist/hooks/cosmos/useCosmos.js +18 -25
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.d.ts +1 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +11 -7
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -7
- package/dist/hooks/index.js +2 -7
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +52 -44
- package/dist/hooks/onramp/useFiatToCrypto.js +160 -83
- package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
- package/dist/hooks/solana/useSolana.d.ts +1 -2
- package/dist/hooks/solana/useSolana.js +2 -4
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/store/useFiatTransactionStore.d.ts +20 -0
- package/dist/hooks/store/useFiatTransactionStore.js +39 -0
- package/dist/hooks/store/useFiatTransactionStore.js.map +1 -0
- package/dist/hooks/store/useHistoryStore.d.ts +13 -33
- package/dist/hooks/store/useHistoryStore.js +32 -120
- package/dist/hooks/store/useHistoryStore.js.map +1 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +3 -34
- package/dist/hooks/transaction/useAllTransactionsStatus.js +61 -130
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -1
- package/dist/hooks/transaction/useApproval.js +2 -2
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.d.ts +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +43 -40
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.d.ts +10 -0
- package/dist/hooks/transaction/{useSwapTransactionStatus.js → useSingleTransaction.js} +17 -40
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -0
- package/dist/hooks/user/useHistory.d.ts +9 -11
- package/dist/hooks/user/useHistory.js +47 -39
- package/dist/hooks/user/useHistory.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +0 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +0 -18
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +7 -7
- package/dist/hooks/wallet/useSigner.js +13 -37
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/services/external/index.d.ts +0 -2
- package/dist/services/external/index.js +0 -2
- package/dist/services/external/index.js.map +1 -1
- package/dist/services/external/onrampAdapter.d.ts +12 -0
- package/dist/services/external/onrampAdapter.js +41 -0
- package/dist/services/external/onrampAdapter.js.map +1 -0
- package/dist/services/internal/errorService.d.ts +7 -3
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/estimateService.js +3 -3
- package/dist/services/internal/estimateService.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +16 -0
- package/dist/services/internal/eventService.js +14 -0
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/fiatToCryptoService.d.ts +1 -14
- package/dist/services/internal/fiatToCryptoService.js +0 -29
- package/dist/services/internal/fiatToCryptoService.js.map +1 -1
- package/dist/services/internal/numberService.d.ts +1 -1
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +36 -8
- package/dist/services/internal/transactionService.js +26 -27
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/transactionStatusService.d.ts +5 -16
- package/dist/services/internal/transactionStatusService.js +5 -78
- package/dist/services/internal/transactionStatusService.js.map +1 -1
- package/dist/tests/transactionService.test.js +18 -18
- package/dist/tests/transactionService.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/client/index.d.ts +0 -12
- package/dist/core/client/index.js +0 -30
- package/dist/core/client/index.js.map +0 -1
- package/dist/core/types/history.d.ts +0 -82
- package/dist/core/types/history.js +0 -7
- package/dist/core/types/history.js.map +0 -1
- package/dist/hooks/store/useSendTransactionStore.d.ts +0 -20
- package/dist/hooks/store/useSendTransactionStore.js +0 -21
- package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.d.ts +0 -27
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -57
- package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
- package/dist/hooks/transaction/send/useSendTransaction.d.ts +0 -13
- package/dist/hooks/transaction/send/useSendTransaction.js +0 -155
- package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
- package/dist/hooks/transaction/send/useSendTransactionGas.d.ts +0 -5
- package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -67
- package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
- package/dist/hooks/transaction/useSendTransactionStatus.d.ts +0 -11
- package/dist/hooks/transaction/useSendTransactionStatus.js +0 -53
- package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
- package/dist/hooks/transaction/useSwapTransactionStatus.d.ts +0 -15
- package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
- package/dist/services/external/baseAdapter.d.ts +0 -31
- package/dist/services/external/baseAdapter.js +0 -20
- package/dist/services/external/baseAdapter.js.map +0 -1
- package/dist/services/external/onramperClientAdapter.d.ts +0 -15
- package/dist/services/external/onramperClientAdapter.js +0 -130
- package/dist/services/external/onramperClientAdapter.js.map +0 -1
- package/dist/services/external/revolutClientAdapter.d.ts +0 -30
- package/dist/services/external/revolutClientAdapter.js +0 -195
- package/dist/services/external/revolutClientAdapter.js.map +0 -1
- package/dist/services/internal/sendTransaction.d.ts +0 -35
- package/dist/services/internal/sendTransaction.js +0 -66
- package/dist/services/internal/sendTransaction.js.map +0 -1
- package/dist/services/internal/sendTransactionStatus.d.ts +0 -6
- package/dist/services/internal/sendTransactionStatus.js +0 -90
- package/dist/services/internal/sendTransactionStatus.js.map +0 -1
- package/dist/tests/revolutClientAdapter.test.d.ts +0 -1
- package/dist/tests/revolutClientAdapter.test.js +0 -181
- package/dist/tests/revolutClientAdapter.test.js.map +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
1
|
+
import { useMutation, useQueries, useQuery } from "@tanstack/react-query";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { keys } from "../../core/queries/queries-keys";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { WidgetEvents } from "../../services";
|
|
5
|
+
import { OnrampService } from "../../services/external/onrampAdapter";
|
|
6
|
+
import { getCountryData, getCurrencyData, } from "../../services/internal/fiatToCryptoService";
|
|
6
7
|
import { isWalletAddressValid } from "../../services/internal/walletService";
|
|
7
8
|
import { useSquidChains } from "../chains/useSquidChains";
|
|
8
|
-
import {
|
|
9
|
+
import { useFiatTransactionStore } from "../store/useFiatTransactionStore";
|
|
9
10
|
import { useSquidTokens } from "../tokens/useSquidTokens";
|
|
10
|
-
|
|
11
|
+
const TX_STATUS_CONSTANTS = {
|
|
11
12
|
RETRY_COUNT: 10,
|
|
12
13
|
RETRY_DELAY: 60_000,
|
|
13
14
|
REFETCH_INTERVAL: 30_000, // Check every 30 seconds
|
|
@@ -15,60 +16,76 @@ export const TX_STATUS_CONSTANTS = {
|
|
|
15
16
|
/**
|
|
16
17
|
* Final transaction statuses that indicate the transaction has reached a terminal state
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
const FINAL_TRANSACTION_STATUSES = [
|
|
19
20
|
"completed",
|
|
20
21
|
"failed",
|
|
21
22
|
];
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @param fiatCurrency - The source fiat currency (e.g., "USD")
|
|
26
|
-
* @param cryptoCurrencyID - The target cryptocurrency ID (e.g., "ETH" or "USDC-ETH")
|
|
27
|
-
* @param amount - The amount in fiat to convert
|
|
28
|
-
* @returns Query result containing the quote information
|
|
24
|
+
* Fetches quotes for fiat to crypto conversion with provider details.
|
|
25
|
+
* Returns available rates, fees, and supported payment methods for the conversion.
|
|
29
26
|
*/
|
|
30
|
-
export const useGetFiatQuote = ({
|
|
31
|
-
const service = useMemo(() => new
|
|
27
|
+
export const useGetFiatQuote = ({ fiatCurrency, cryptoCurrencyID, amount, region, enabled = true, }) => {
|
|
28
|
+
const service = useMemo(() => new OnrampService(), []);
|
|
29
|
+
const { data: config } = useGetOnRampConfig();
|
|
32
30
|
return useQuery({
|
|
33
31
|
queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID, amount, region),
|
|
34
|
-
queryFn: () => {
|
|
35
|
-
|
|
32
|
+
queryFn: async () => {
|
|
33
|
+
// Dispatch event before getting quote
|
|
34
|
+
WidgetEvents.getInstance().dispatchOnrampQuoteRequest({
|
|
35
|
+
fiatCurrency,
|
|
36
|
+
cryptoCurrencyID,
|
|
37
|
+
amount,
|
|
38
|
+
region,
|
|
39
|
+
});
|
|
40
|
+
const quoteResponse = await service.getQuote({
|
|
41
|
+
fiatCurrency,
|
|
42
|
+
cryptoCurrencyID,
|
|
43
|
+
amount,
|
|
44
|
+
region,
|
|
45
|
+
});
|
|
46
|
+
// Enhance quotes with provider information from config
|
|
47
|
+
if (quoteResponse.quotes && config?.supportedOnramps) {
|
|
48
|
+
quoteResponse.quotes = quoteResponse.quotes.map((quote) => ({
|
|
49
|
+
...quote,
|
|
50
|
+
providerIcon: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.icon,
|
|
51
|
+
providerName: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.name || quote.providerName,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
return quoteResponse;
|
|
36
55
|
},
|
|
37
56
|
enabled: enabled && !!fiatCurrency && !!cryptoCurrencyID && amount > 0,
|
|
38
57
|
});
|
|
39
58
|
};
|
|
40
59
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @returns Query result containing the provider config and filtered token list
|
|
60
|
+
* Fetches and caches onramp provider configuration.
|
|
61
|
+
* Includes supported tokens, payment methods, and country restrictions.
|
|
44
62
|
*/
|
|
45
|
-
export const useGetOnRampConfig = (
|
|
46
|
-
const service = useMemo(() => new
|
|
63
|
+
export const useGetOnRampConfig = () => {
|
|
64
|
+
const service = useMemo(() => new OnrampService(), []);
|
|
47
65
|
const { chains } = useSquidChains();
|
|
48
66
|
const { tokens } = useSquidTokens();
|
|
49
67
|
return useQuery({
|
|
50
|
-
queryKey: keys().fiatToCryptoConfig(
|
|
68
|
+
queryKey: keys().fiatToCryptoConfig(),
|
|
51
69
|
queryFn: () => service.getConfiguration({
|
|
52
70
|
chains,
|
|
53
71
|
tokens,
|
|
54
72
|
}),
|
|
55
73
|
cacheTime: 1000 * 60 * 60,
|
|
56
|
-
staleTime: 1000 * 60 * 30,
|
|
57
|
-
enabled: !!provider,
|
|
74
|
+
staleTime: 1000 * 60 * 30, // 30 minutes
|
|
58
75
|
});
|
|
59
76
|
};
|
|
60
77
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* @param chainData - Optional chain data for address validation
|
|
64
|
-
* @returns Mutation object for executing quotes
|
|
78
|
+
* Executes a fiat to crypto quote and creates an order.
|
|
79
|
+
* Validates wallet address and persists transaction for tracking.
|
|
65
80
|
*/
|
|
66
|
-
export const useExecuteFiatQuote = (
|
|
67
|
-
const service = useMemo(() => new
|
|
68
|
-
const
|
|
81
|
+
export const useExecuteFiatQuote = () => {
|
|
82
|
+
const service = useMemo(() => new OnrampService(), []);
|
|
83
|
+
const persistFiatTransaction = useFiatTransactionStore((state) => state.persistTransaction);
|
|
69
84
|
const { findChain } = useSquidChains();
|
|
70
85
|
return useMutation({
|
|
71
86
|
mutationFn: async (executeQuoteRequest) => {
|
|
87
|
+
// Dispatch event before executing quote
|
|
88
|
+
WidgetEvents.getInstance().dispatchOnrampQuoteExecute(executeQuoteRequest);
|
|
72
89
|
const chain = findChain(executeQuoteRequest.squidToken?.chainId);
|
|
73
90
|
if (!chain) {
|
|
74
91
|
throw new Error("Chain not found");
|
|
@@ -84,39 +101,21 @@ export const useExecuteFiatQuote = (provider) => {
|
|
|
84
101
|
};
|
|
85
102
|
},
|
|
86
103
|
onSuccess: (result) => {
|
|
87
|
-
|
|
88
|
-
persistTransaction({
|
|
89
|
-
data: {
|
|
90
|
-
orderId,
|
|
91
|
-
fromFiatCurrency: executeQuoteRequest.fiatCurrency,
|
|
92
|
-
fromAmount: executeQuoteRequest.amount.toString(),
|
|
93
|
-
toCryptoCurrencyID: executeQuoteRequest.cryptoCurrencyID,
|
|
94
|
-
fromCountryCode: executeQuoteRequest.region ?? "",
|
|
95
|
-
toTokenAddress: executeQuoteRequest.squidToken?.address ?? "",
|
|
96
|
-
toCryptoAmount: executeQuoteRequest.cryptoAmount.toString(),
|
|
97
|
-
toChainId: toChain?.chainId ?? "",
|
|
98
|
-
toAddress: executeQuoteRequest.walletAddress,
|
|
99
|
-
status: "awaiting_payment",
|
|
100
|
-
timestamp: Date.now(),
|
|
101
|
-
},
|
|
102
|
-
txType: HistoryTxType.BUY,
|
|
103
|
-
});
|
|
104
|
+
persistFiatTransaction(result);
|
|
104
105
|
},
|
|
105
106
|
});
|
|
106
107
|
};
|
|
107
108
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* @param transactionId - The transaction ID to track
|
|
111
|
-
* @returns Query result containing the transaction status
|
|
109
|
+
* Tracks the status of a fiat to crypto transaction.
|
|
110
|
+
* Auto-refreshes until transaction reaches a final state (completed/failed).
|
|
112
111
|
*/
|
|
113
|
-
export const useFiatOnRampTxStatus = (
|
|
114
|
-
const service = useMemo(() => new
|
|
115
|
-
const
|
|
112
|
+
export const useFiatOnRampTxStatus = (transactionId, walletAddress, providerId) => {
|
|
113
|
+
const service = useMemo(() => new OnrampService(), []);
|
|
114
|
+
const updateTransactionStatus = useFiatTransactionStore((state) => state.updateTransactionStatus);
|
|
116
115
|
return useQuery({
|
|
117
116
|
queryKey: keys().fiatToCryptoStatus(transactionId),
|
|
118
|
-
queryFn: () => service.getTransactionStatus(transactionId, walletAddress),
|
|
119
|
-
enabled: !!transactionId && !!walletAddress,
|
|
117
|
+
queryFn: () => service.getTransactionStatus(transactionId, walletAddress, providerId),
|
|
118
|
+
enabled: !!transactionId && !!walletAddress && !!providerId,
|
|
120
119
|
retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
121
120
|
retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
122
121
|
refetchInterval: (data) => {
|
|
@@ -126,42 +125,65 @@ export const useFiatOnRampTxStatus = (provider, transactionId, walletAddress) =>
|
|
|
126
125
|
return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
127
126
|
},
|
|
128
127
|
onError: () => {
|
|
129
|
-
|
|
130
|
-
txType: HistoryTxType.BUY,
|
|
131
|
-
orderId: transactionId,
|
|
132
|
-
status: "failed",
|
|
133
|
-
transactionHash: undefined,
|
|
134
|
-
});
|
|
128
|
+
updateTransactionStatus(transactionId, "failed", undefined);
|
|
135
129
|
},
|
|
136
130
|
});
|
|
137
131
|
};
|
|
138
132
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
* @param provider - The fiat-to-crypto provider
|
|
142
|
-
* @returns Currency details including symbol and denomination & min/max limits
|
|
133
|
+
* Tracks all pending fiat transactions and their status updates.
|
|
134
|
+
* Useful for displaying transaction history and real-time status updates.
|
|
143
135
|
*/
|
|
144
|
-
export const
|
|
145
|
-
const
|
|
136
|
+
export const useFiatTransactions = () => {
|
|
137
|
+
const service = useMemo(() => new OnrampService(), []);
|
|
138
|
+
const transactions = useFiatTransactionStore((state) => state.transactions);
|
|
139
|
+
const updateTransactionStatus = useFiatTransactionStore((state) => state.updateTransactionStatus);
|
|
140
|
+
const queries = useQueries({
|
|
141
|
+
queries: transactions
|
|
142
|
+
? transactions
|
|
143
|
+
.filter((tx) => !FINAL_TRANSACTION_STATUSES.includes(tx.status))
|
|
144
|
+
.map((tx) => ({
|
|
145
|
+
queryKey: keys().fiatToCryptoStatus(tx.orderId),
|
|
146
|
+
queryFn: () => service.getTransactionStatus(tx.orderId, tx.toAddress, tx.providerId),
|
|
147
|
+
retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
148
|
+
retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
149
|
+
refetchInterval: (data) => {
|
|
150
|
+
if (data?.status &&
|
|
151
|
+
FINAL_TRANSACTION_STATUSES.includes(data.status)) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
155
|
+
},
|
|
156
|
+
onSuccess: (data) => {
|
|
157
|
+
updateTransactionStatus(tx.orderId, data.status, data.transactionHash);
|
|
158
|
+
},
|
|
159
|
+
onError: () => {
|
|
160
|
+
updateTransactionStatus(tx.orderId, "failed", undefined);
|
|
161
|
+
},
|
|
162
|
+
enabled: true,
|
|
163
|
+
}))
|
|
164
|
+
: [],
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
transactions,
|
|
168
|
+
isLoading: queries.some((q) => q.isLoading),
|
|
169
|
+
isError: queries.some((q) => q.isError),
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Gets currency details including symbol and limits.
|
|
174
|
+
* Example: USD → { symbol: "$", name: "US Dollar", ... }
|
|
175
|
+
*/
|
|
176
|
+
export const useCurrencyDetails = (currencyCode) => {
|
|
177
|
+
const { data: config } = useGetOnRampConfig();
|
|
146
178
|
return useMemo(() => {
|
|
147
179
|
if (!currencyCode)
|
|
148
180
|
return undefined;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return undefined;
|
|
152
|
-
// If we have a provider and config, enhance with limits
|
|
153
|
-
const providerCurrency = config?.supportedCurrencies.find((c) => c.denomination === currencyCode);
|
|
154
|
-
return {
|
|
155
|
-
...currencyData,
|
|
156
|
-
minLimit: providerCurrency?.minLimit,
|
|
157
|
-
maxLimit: providerCurrency?.maxLimit,
|
|
158
|
-
};
|
|
159
|
-
}, [currencyCode, config?.supportedCurrencies]);
|
|
181
|
+
return getCurrencyData(currencyCode);
|
|
182
|
+
}, [currencyCode, config?.supportedFiats]);
|
|
160
183
|
};
|
|
161
184
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
* @returns Country details including name, flag URL, and other information
|
|
185
|
+
* Gets country details with flag URL and localized name.
|
|
186
|
+
* Example: "US" → { name: "United States", flag: "🇺🇸", ... }
|
|
165
187
|
*/
|
|
166
188
|
export const useCountryDetails = (countryCode) => {
|
|
167
189
|
return useMemo(() => {
|
|
@@ -170,4 +192,59 @@ export const useCountryDetails = (countryCode) => {
|
|
|
170
192
|
return getCountryData(countryCode);
|
|
171
193
|
}, [countryCode]);
|
|
172
194
|
};
|
|
195
|
+
/**
|
|
196
|
+
* Filters and returns only valid quotes that have available payment methods.
|
|
197
|
+
* Ensures users only see quotes they can actually use.
|
|
198
|
+
*/
|
|
199
|
+
export const useAvailableQuotes = (quotes) => {
|
|
200
|
+
return useMemo(() => {
|
|
201
|
+
if (!quotes?.length)
|
|
202
|
+
return [];
|
|
203
|
+
return quotes.filter((quote) => quote.paymentMethods?.length > 0 && quote.rate);
|
|
204
|
+
}, [quotes]);
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Gets the recommended quote based on best rates or provider preferences.
|
|
208
|
+
* Falls back to first available quote if no specific recommendation.
|
|
209
|
+
*/
|
|
210
|
+
export const useRecommendedQuote = (quotes, recommendedQuote) => {
|
|
211
|
+
const availableQuotes = useAvailableQuotes(quotes);
|
|
212
|
+
return useMemo(() => {
|
|
213
|
+
if (!availableQuotes.length)
|
|
214
|
+
return undefined;
|
|
215
|
+
if (!recommendedQuote)
|
|
216
|
+
return availableQuotes[0];
|
|
217
|
+
// Try to find the recommended quote among available quotes
|
|
218
|
+
const recommendedAvailableQuote = availableQuotes.find((quote) => quote.onrampProviderId === recommendedQuote.onrampProviderId);
|
|
219
|
+
// If recommended quote is not available, return first available quote
|
|
220
|
+
return recommendedAvailableQuote ?? availableQuotes[0];
|
|
221
|
+
}, [availableQuotes, recommendedQuote]);
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Gets payment methods for a quote with recommendations.
|
|
225
|
+
* Helps guide users to optimal payment methods (lowest fees, fastest processing).
|
|
226
|
+
*/
|
|
227
|
+
export const useQuotePaymentMethods = (quote) => {
|
|
228
|
+
return useMemo(() => {
|
|
229
|
+
if (!quote?.paymentMethods) {
|
|
230
|
+
return {
|
|
231
|
+
paymentMethods: [],
|
|
232
|
+
recommendedPaymentMethod: undefined,
|
|
233
|
+
recommendedPaymentMethodReason: undefined,
|
|
234
|
+
getPaymentMethodById: (id) => undefined,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const getPaymentMethodById = (id) => quote.paymentMethods.find((method) => method.id === id);
|
|
238
|
+
const recommendedPaymentMethod = quote.paymentMethodsRecommendation
|
|
239
|
+
? getPaymentMethodById(quote.paymentMethodsRecommendation.recommendedId)
|
|
240
|
+
: quote.paymentMethods.find((method) => method.isRecommended) ??
|
|
241
|
+
quote.paymentMethods[0];
|
|
242
|
+
return {
|
|
243
|
+
paymentMethods: quote.paymentMethods,
|
|
244
|
+
recommendedPaymentMethod,
|
|
245
|
+
recommendedPaymentMethodReason: quote.paymentMethodsRecommendation?.reason,
|
|
246
|
+
getPaymentMethodById,
|
|
247
|
+
};
|
|
248
|
+
}, [quote]);
|
|
249
|
+
};
|
|
173
250
|
//# sourceMappingURL=useFiatToCrypto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Adapter } from "@solana/wallet-adapter-base";
|
|
2
|
-
import {
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
3
|
import { ISolanaContextData } from "../../core/providers/SolanaProvider";
|
|
4
4
|
export interface SolanaWalletEvents {
|
|
5
5
|
connect(publicKey: PublicKey): void;
|
|
@@ -8,4 +8,3 @@ export interface SolanaWalletEvents {
|
|
|
8
8
|
}
|
|
9
9
|
export type SolanaWalletAdapter = Adapter;
|
|
10
10
|
export declare const useSolana: () => ISolanaContextData;
|
|
11
|
-
export declare const useSolanaConnection: () => Connection;
|
|
@@ -83,6 +83,7 @@ export const useSolana = () => {
|
|
|
83
83
|
}
|
|
84
84
|
return solanaWalletObject;
|
|
85
85
|
}, [solanaWalletObject, solanaAddress, solanaConnectedWallet]);
|
|
86
|
+
const connectionRef = useRef(new Connection(SOLANA_RPC_URL));
|
|
86
87
|
return {
|
|
87
88
|
connectSolana,
|
|
88
89
|
isConnected,
|
|
@@ -91,10 +92,7 @@ export const useSolana = () => {
|
|
|
91
92
|
solanaAddress,
|
|
92
93
|
signer,
|
|
93
94
|
wallet: solanaConnectedWallet,
|
|
95
|
+
connection: connectionRef.current,
|
|
94
96
|
};
|
|
95
97
|
};
|
|
96
|
-
export const useSolanaConnection = () => {
|
|
97
|
-
const connectionRef = useRef(new Connection(SOLANA_RPC_URL));
|
|
98
|
-
return connectionRef.current;
|
|
99
|
-
};
|
|
100
98
|
//# sourceMappingURL=useSolana.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSolana.js","sourceRoot":"","sources":["../../../src/hooks/solana/useSolana.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useSolana.js","sourceRoot":"","sources":["../../../src/hooks/solana/useSolana.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ExecuteFiatQuoteResultClient, FiatTransactionHistory } from "../../core/types/onramps/onramp";
|
|
2
|
+
interface FiatTransactionState {
|
|
3
|
+
transactions: FiatTransactionHistory[];
|
|
4
|
+
persistTransaction: (details: ExecuteFiatQuoteResultClient) => void;
|
|
5
|
+
updateTransactionStatus: (orderId: string, status: FiatTransactionHistory["status"], transactionHash?: string) => void;
|
|
6
|
+
removeTransaction: (orderId: string) => void;
|
|
7
|
+
removeAllTransactions: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const useFiatTransactionStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<FiatTransactionState>, "persist"> & {
|
|
10
|
+
persist: {
|
|
11
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<FiatTransactionState, FiatTransactionState>>) => void;
|
|
12
|
+
clearStorage: () => void;
|
|
13
|
+
rehydrate: () => void | Promise<void>;
|
|
14
|
+
hasHydrated: () => boolean;
|
|
15
|
+
onHydrate: (fn: (state: FiatTransactionState) => void) => () => void;
|
|
16
|
+
onFinishHydration: (fn: (state: FiatTransactionState) => void) => () => void;
|
|
17
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<FiatTransactionState, FiatTransactionState>>;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { persist } from "zustand/middleware";
|
|
3
|
+
export const useFiatTransactionStore = create(persist((set) => ({
|
|
4
|
+
transactions: [],
|
|
5
|
+
persistTransaction: (details) => set((state) => {
|
|
6
|
+
const { executeQuoteRequest, toChain, orderId } = details;
|
|
7
|
+
return {
|
|
8
|
+
transactions: [
|
|
9
|
+
...state.transactions,
|
|
10
|
+
{
|
|
11
|
+
orderId,
|
|
12
|
+
fromFiatCurrency: executeQuoteRequest.fiatCurrency,
|
|
13
|
+
fromAmount: executeQuoteRequest.amount.toString(),
|
|
14
|
+
toCryptoCurrencyID: executeQuoteRequest.cryptoCurrencyID,
|
|
15
|
+
fromCountryCode: executeQuoteRequest.region ?? "",
|
|
16
|
+
toTokenAddress: executeQuoteRequest.squidToken?.address ?? "",
|
|
17
|
+
toCryptoAmount: executeQuoteRequest.cryptoAmount.toString(),
|
|
18
|
+
toChainId: toChain?.chainId ?? "",
|
|
19
|
+
toAddress: executeQuoteRequest.walletAddress,
|
|
20
|
+
status: "awaiting_payment",
|
|
21
|
+
timestamp: Date.now(),
|
|
22
|
+
providerId: executeQuoteRequest.providerId,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
}),
|
|
27
|
+
updateTransactionStatus: (orderId, status, transactionHash) => set((state) => ({
|
|
28
|
+
transactions: state.transactions.map((tx) => tx.orderId === orderId ? { ...tx, status, transactionHash } : tx),
|
|
29
|
+
})),
|
|
30
|
+
removeTransaction: (orderId) => set((state) => ({
|
|
31
|
+
transactions: state.transactions.filter((tx) => tx.orderId !== orderId),
|
|
32
|
+
})),
|
|
33
|
+
removeAllTransactions: () => set(() => ({
|
|
34
|
+
transactions: [],
|
|
35
|
+
})),
|
|
36
|
+
}), {
|
|
37
|
+
name: "squid.fiat.transactions.store",
|
|
38
|
+
}));
|
|
39
|
+
//# sourceMappingURL=useFiatTransactionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiatTransactionStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useFiatTransactionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAkB7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAC3C,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,YAAY,EAAE,EAAE;IAChB,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC9B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC1D,OAAO;YACL,YAAY,EAAE;gBACZ,GAAG,KAAK,CAAC,YAAY;gBACrB;oBACE,OAAO;oBACP,gBAAgB,EAAE,mBAAmB,CAAC,YAAY;oBAClD,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACjD,kBAAkB,EAAE,mBAAmB,CAAC,gBAAgB;oBACxD,eAAe,EAAE,mBAAmB,CAAC,MAAM,IAAI,EAAE;oBACjD,cAAc,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE;oBAC7D,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC3D,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;oBACjC,SAAS,EAAE,mBAAmB,CAAC,aAAa;oBAC5C,MAAM,EAAE,kBAAkB;oBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,UAAU,EAAE,mBAAmB,CAAC,UAAU;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CAAC;IACJ,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1C,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CACjE;KACF,CAAC,CAAC;IACL,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACd,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CACrC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,CAC/B;KACF,CAAC,CAAC;IACL,qBAAqB,EAAE,GAAG,EAAE,CAC1B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;CACN,CAAC,EACF;IACE,IAAI,EAAE,+BAA+B;CACtC,CACF,CACF,CAAC"}
|
|
@@ -1,41 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { SimplifiedTransactionHistory, TransactionStatus } from "../../core/types/transaction";
|
|
2
|
+
interface HistoryState {
|
|
3
|
+
transactions: SimplifiedTransactionHistory[];
|
|
4
|
+
persistTransaction: (tx: SimplifiedTransactionHistory) => void;
|
|
5
|
+
replaceTransactionStatus: (transactionId: string, statusResponse: any, status: TransactionStatus) => void;
|
|
6
|
+
removeTransaction: (transactionId: string) => void;
|
|
7
|
+
removeAllTransactions: () => void;
|
|
8
|
+
replaceTransactionAtNonce: (nonce: number, fromAddress: string, newTx: SimplifiedTransactionHistory) => void;
|
|
5
9
|
}
|
|
6
|
-
export
|
|
7
|
-
txType: HistoryTxType.SWAP;
|
|
8
|
-
} & Pick<SwapTransactionHistory, "statusResponse" | "status" | "transactionId">) | ({
|
|
9
|
-
txType: HistoryTxType.SEND;
|
|
10
|
-
} & Pick<SendTransactionHistory, "hash" | "status">) | ({
|
|
11
|
-
txType: HistoryTxType.BUY;
|
|
12
|
-
} & Pick<FiatTransactionHistory, "status" | "transactionHash" | "orderId">);
|
|
13
|
-
interface HistoryStore extends HistoryStoreState {
|
|
14
|
-
persistTransaction: (tx: HistoryTransaction) => void;
|
|
15
|
-
replaceTransactionStatus: ({}: ReplaceTransactionStatusParams) => void;
|
|
16
|
-
removeTransaction: ({}: {
|
|
17
|
-
txType: HistoryTxType;
|
|
18
|
-
transactionId: string;
|
|
19
|
-
}) => void;
|
|
20
|
-
replaceTransactionAtNonce: ({}: {
|
|
21
|
-
nonce: number;
|
|
22
|
-
fromAddress: string;
|
|
23
|
-
newTx: HistoryTransaction;
|
|
24
|
-
}) => void;
|
|
25
|
-
findTransaction: <T extends HistoryTxType>({}: {
|
|
26
|
-
txType: T;
|
|
27
|
-
transactionId: string | undefined;
|
|
28
|
-
}) => TxTypeToTransactionMap[T] | undefined;
|
|
29
|
-
}
|
|
30
|
-
export declare const useHistoryStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<HistoryStore>, "persist"> & {
|
|
10
|
+
export declare const useHistoryStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<HistoryState>, "persist"> & {
|
|
31
11
|
persist: {
|
|
32
|
-
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<
|
|
12
|
+
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<HistoryState, HistoryState>>) => void;
|
|
33
13
|
clearStorage: () => void;
|
|
34
14
|
rehydrate: () => void | Promise<void>;
|
|
35
15
|
hasHydrated: () => boolean;
|
|
36
|
-
onHydrate: (fn: (state:
|
|
37
|
-
onFinishHydration: (fn: (state:
|
|
38
|
-
getOptions: () => Partial<import("zustand/middleware").PersistOptions<
|
|
16
|
+
onHydrate: (fn: (state: HistoryState) => void) => () => void;
|
|
17
|
+
onFinishHydration: (fn: (state: HistoryState) => void) => () => void;
|
|
18
|
+
getOptions: () => Partial<import("zustand/middleware").PersistOptions<HistoryState, HistoryState>>;
|
|
39
19
|
};
|
|
40
20
|
}>;
|
|
41
21
|
export {};
|