@0xsquid/react-hooks 6.4.1-beta.5 → 6.4.1-onramp-beta.1

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 (38) hide show
  1. package/dist/core/queries/queries-keys.d.ts +1 -1
  2. package/dist/core/queries/queries-keys.js +1 -5
  3. package/dist/core/queries/queries-keys.js.map +1 -1
  4. package/dist/core/types/event.d.ts +8 -0
  5. package/dist/core/types/history.d.ts +1 -0
  6. package/dist/core/types/history.js.map +1 -1
  7. package/dist/core/types/onramps/onramp.d.ts +82 -7
  8. package/dist/hooks/onramp/useFiatToCrypto.d.ts +58 -44
  9. package/dist/hooks/onramp/useFiatToCrypto.js +205 -76
  10. package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
  11. package/dist/services/external/index.d.ts +0 -2
  12. package/dist/services/external/index.js +0 -2
  13. package/dist/services/external/index.js.map +1 -1
  14. package/dist/services/external/onrampAdapter.d.ts +12 -0
  15. package/dist/services/external/onrampAdapter.js +41 -0
  16. package/dist/services/external/onrampAdapter.js.map +1 -0
  17. package/dist/services/index.d.ts +1 -0
  18. package/dist/services/index.js +1 -0
  19. package/dist/services/index.js.map +1 -1
  20. package/dist/services/internal/eventService.d.ts +16 -0
  21. package/dist/services/internal/eventService.js +14 -0
  22. package/dist/services/internal/eventService.js.map +1 -1
  23. package/dist/services/internal/fiatToCryptoService.d.ts +1 -14
  24. package/dist/services/internal/fiatToCryptoService.js +0 -29
  25. package/dist/services/internal/fiatToCryptoService.js.map +1 -1
  26. package/package.json +1 -1
  27. package/dist/services/external/baseAdapter.d.ts +0 -31
  28. package/dist/services/external/baseAdapter.js +0 -20
  29. package/dist/services/external/baseAdapter.js.map +0 -1
  30. package/dist/services/external/onramperClientAdapter.d.ts +0 -15
  31. package/dist/services/external/onramperClientAdapter.js +0 -130
  32. package/dist/services/external/onramperClientAdapter.js.map +0 -1
  33. package/dist/services/external/revolutClientAdapter.d.ts +0 -30
  34. package/dist/services/external/revolutClientAdapter.js +0 -195
  35. package/dist/services/external/revolutClientAdapter.js.map +0 -1
  36. package/dist/tests/revolutClientAdapter.test.d.ts +0 -1
  37. package/dist/tests/revolutClientAdapter.test.js +0 -181
  38. package/dist/tests/revolutClientAdapter.test.js.map +0 -1
@@ -1,14 +1,18 @@
1
- import { useMutation, useQuery } from "@tanstack/react-query";
1
+ import { useMutation, useQueries, useQuery, } from "@tanstack/react-query";
2
2
  import { useMemo } from "react";
3
+ import { v4 as uuidv4 } from "uuid";
3
4
  import { keys } from "../../core/queries/queries-keys";
4
- import { HistoryTxType } from "../../core/types/history";
5
- import { FiatToCryptoService, getCountryData, getCurrencyData, } from "../../services/internal/fiatToCryptoService";
5
+ import { HistoryTxType, } from "../../core/types/history";
6
+ import { WidgetEvents } from "../../services";
7
+ import { OnrampService } from "../../services/external/onrampAdapter";
8
+ import { countryCurrencyMap } from "../../services/internal/countryCurrencyMap";
9
+ import { getCountryData, getCurrencyData, } from "../../services/internal/fiatToCryptoService";
6
10
  import { isWalletAddressValid } from "../../services/internal/walletService";
7
11
  import { useSquidChains } from "../chains/useSquidChains";
8
- import { useHistoryStore } from "../store/useHistoryStore";
12
+ import { useHistoryStore, } from "../store/useHistoryStore";
9
13
  import { useSquidTokens } from "../tokens/useSquidTokens";
10
- export const TX_STATUS_CONSTANTS = {
11
- RETRY_COUNT: 10,
14
+ const TX_STATUS_CONSTANTS = {
15
+ RETRY_COUNT: 2,
12
16
  RETRY_DELAY: 60_000,
13
17
  REFETCH_INTERVAL: 30_000, // Check every 30 seconds
14
18
  };
@@ -20,51 +24,102 @@ export const FINAL_TRANSACTION_STATUSES = [
20
24
  "failed",
21
25
  ];
22
26
  /**
23
- * Hook to fetch quote for fiat to crypto conversion
24
- * @param provider - The fiat-to-crypto provider (e.g., Revolut, Onramper)
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
27
+ * Configuration for transaction status tracking
29
28
  */
30
- export const useGetFiatQuote = ({ provider, fiatCurrency, cryptoCurrencyID, amount, region, enabled = true, }) => {
31
- const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
29
+ const createTransactionStatusConfig = ({ transactionId, walletAddress, providerId, replaceTransactionStatus, }) => {
30
+ return {
31
+ queryKey: keys().fiatToCryptoStatus(transactionId),
32
+ queryFn: () => new OnrampService().getTransactionStatus(transactionId, walletAddress, providerId),
33
+ enabled: !!transactionId && !!walletAddress && !!providerId,
34
+ retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
35
+ retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
36
+ refetchInterval: (data) => {
37
+ if (data?.status && FINAL_TRANSACTION_STATUSES.includes(data.status)) {
38
+ return false;
39
+ }
40
+ return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
41
+ },
42
+ onSuccess: (data) => {
43
+ if (data) {
44
+ replaceTransactionStatus({
45
+ txType: HistoryTxType.BUY,
46
+ orderId: transactionId,
47
+ status: data.status,
48
+ transactionHash: data.transactionHash,
49
+ });
50
+ }
51
+ },
52
+ onError: () => {
53
+ replaceTransactionStatus({
54
+ txType: HistoryTxType.BUY,
55
+ orderId: transactionId,
56
+ status: "failed",
57
+ transactionHash: undefined,
58
+ });
59
+ },
60
+ };
61
+ };
62
+ /**
63
+ * Fetches quotes for fiat to crypto conversion with provider details.
64
+ * Returns available rates, fees, and supported payment methods for the conversion.
65
+ */
66
+ export const useGetFiatQuote = ({ fiatCurrency, cryptoCurrencyID, amount, region, enabled = true, onSuccess, }) => {
67
+ const service = useMemo(() => new OnrampService(), []);
68
+ const { data: config } = useGetOnRampConfig();
32
69
  return useQuery({
33
70
  queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID, amount, region),
34
- queryFn: () => {
35
- return service.getQuote(fiatCurrency, cryptoCurrencyID, amount, undefined, region);
71
+ queryFn: async () => {
72
+ // Dispatch event before getting quote
73
+ WidgetEvents.getInstance().dispatchOnrampQuoteRequest({
74
+ fiatCurrency,
75
+ cryptoCurrencyID,
76
+ amount,
77
+ region,
78
+ });
79
+ const quoteResponse = await service.getQuote({
80
+ fiatCurrency,
81
+ cryptoCurrencyID,
82
+ amount,
83
+ region,
84
+ });
85
+ // Enhance quotes with provider information from config
86
+ if (quoteResponse.quotes && config?.supportedOnramps) {
87
+ quoteResponse.quotes = quoteResponse.quotes.map((quote) => ({
88
+ ...quote,
89
+ providerIcon: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.icon,
90
+ providerName: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.name || quote.providerName,
91
+ }));
92
+ }
93
+ return quoteResponse;
36
94
  },
37
95
  enabled: enabled && !!fiatCurrency && !!cryptoCurrencyID && amount > 0,
96
+ onSuccess,
38
97
  });
39
98
  };
40
99
  /**
41
- * Hook to fetch provider configuration and filter compatible tokens
42
- * @param provider - The fiat-to-crypto provider
43
- * @returns Query result containing the provider config and filtered token list
100
+ * Fetches and caches onramp provider configuration.
101
+ * Includes supported tokens, payment methods, and country restrictions.
44
102
  */
45
- export const useGetOnRampConfig = (provider) => {
46
- const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
103
+ export const useGetOnRampConfig = () => {
104
+ const service = useMemo(() => new OnrampService(), []);
47
105
  const { chains } = useSquidChains();
48
106
  const { tokens } = useSquidTokens();
49
107
  return useQuery({
50
- queryKey: keys().fiatToCryptoConfig(provider?.key),
108
+ queryKey: keys().fiatToCryptoConfig(),
51
109
  queryFn: () => service.getConfiguration({
52
110
  chains,
53
111
  tokens,
54
112
  }),
55
113
  cacheTime: 1000 * 60 * 60,
56
- staleTime: 1000 * 60 * 30,
57
- enabled: !!provider,
114
+ staleTime: 1000 * 60 * 30, // 30 minutes
58
115
  });
59
116
  };
60
117
  /**
61
- * Hook to execute a fiat to crypto quote and handle the order creation
62
- * @param provider - The fiat-to-crypto provider
63
- * @param chainData - Optional chain data for address validation
64
- * @returns Mutation object for executing quotes
118
+ * Executes a fiat to crypto quote and creates an order.
119
+ * Validates wallet address and persists transaction for tracking.
65
120
  */
66
- export const useExecuteFiatQuote = (provider) => {
67
- const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
121
+ export const useExecuteFiatQuote = () => {
122
+ const service = useMemo(() => new OnrampService(), []);
68
123
  const persistTransaction = useHistoryStore((state) => state.persistTransaction);
69
124
  const { findChain } = useSquidChains();
70
125
  return useMutation({
@@ -76,11 +131,19 @@ export const useExecuteFiatQuote = (provider) => {
76
131
  if (!isWalletAddressValid(chain, executeQuoteRequest.walletAddress)) {
77
132
  throw new Error("Invalid wallet address for selected network");
78
133
  }
79
- const executeQuoteResult = await service.executeQuote(executeQuoteRequest);
134
+ // Revolut expects us to provide a quoteId, but Onramper already provides one
135
+ const orderId = executeQuoteRequest.orderId ?? uuidv4();
136
+ const executeQuoteRequestWithOrderId = {
137
+ ...executeQuoteRequest,
138
+ orderId,
139
+ };
140
+ // Dispatch event before executing quote
141
+ WidgetEvents.getInstance().dispatchOnrampQuoteExecute(executeQuoteRequestWithOrderId);
142
+ const executeQuoteResult = await service.executeQuote(executeQuoteRequestWithOrderId);
80
143
  return {
81
144
  ...executeQuoteResult,
145
+ executeQuoteRequest: executeQuoteRequestWithOrderId,
82
146
  toChain: chain,
83
- executeQuoteRequest,
84
147
  };
85
148
  },
86
149
  onSuccess: (result) => {
@@ -98,6 +161,7 @@ export const useExecuteFiatQuote = (provider) => {
98
161
  toAddress: executeQuoteRequest.walletAddress,
99
162
  status: "awaiting_payment",
100
163
  timestamp: Date.now(),
164
+ providerId: executeQuoteRequest.providerId,
101
165
  },
102
166
  txType: HistoryTxType.BUY,
103
167
  });
@@ -105,63 +169,65 @@ export const useExecuteFiatQuote = (provider) => {
105
169
  });
106
170
  };
107
171
  /**
108
- * Hook to track the status of a fiat to crypto transaction
109
- * @param provider - The fiat-to-crypto provider
110
- * @param transactionId - The transaction ID to track
111
- * @returns Query result containing the transaction status
172
+ * Tracks the status of a single fiat to crypto transaction.
112
173
  */
113
- export const useFiatOnRampTxStatus = (provider, transactionId, walletAddress) => {
114
- const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
174
+ export const useFiatOnRampTxStatus = (transactionId, walletAddress, providerId) => {
115
175
  const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
116
176
  return useQuery({
117
- queryKey: keys().fiatToCryptoStatus(transactionId),
118
- queryFn: () => service.getTransactionStatus(transactionId, walletAddress),
119
- enabled: !!transactionId && !!walletAddress,
120
- retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
121
- retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
122
- refetchInterval: (data) => {
123
- if (data?.status && FINAL_TRANSACTION_STATUSES.includes(data.status)) {
124
- return false;
125
- }
126
- return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
127
- },
128
- onError: () => {
129
- replaceTransactionStatus({
130
- txType: HistoryTxType.BUY,
131
- orderId: transactionId,
132
- status: "failed",
133
- transactionHash: undefined,
134
- });
135
- },
177
+ ...createTransactionStatusConfig({
178
+ transactionId,
179
+ walletAddress,
180
+ providerId,
181
+ replaceTransactionStatus,
182
+ }),
183
+ });
184
+ };
185
+ /**
186
+ * Tracks all pending fiat transactions.
187
+ */
188
+ export const useFiatTransactions = () => {
189
+ const transactions = useHistoryStore((state) => state.transactions.filter((tx) => tx.txType === HistoryTxType.BUY));
190
+ const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
191
+ const pendingTransactions = useMemo(() => transactions?.filter((tx) => !FINAL_TRANSACTION_STATUSES.includes(tx.data.status)) ?? [], [transactions]);
192
+ const queries = useQueries({
193
+ queries: pendingTransactions.map((tx) => ({
194
+ ...createTransactionStatusConfig({
195
+ transactionId: tx.data.orderId,
196
+ walletAddress: tx.data.toAddress,
197
+ providerId: tx.data.providerId,
198
+ replaceTransactionStatus,
199
+ }),
200
+ })),
136
201
  });
202
+ return {
203
+ transactions: transactions.map((tx) => tx.data),
204
+ isLoading: queries.some((q) => q.isLoading),
205
+ isError: queries.some((q) => q.isError),
206
+ };
137
207
  };
138
208
  /**
139
- * Hook to get currency details based on denomination
140
- * @param currencyCode - The currency code (e.g., "USD", "EUR")
141
- * @param provider - The fiat-to-crypto provider
142
- * @returns Currency details including symbol and denomination & min/max limits
209
+ * Gets currency details including symbol and limits.
210
+ * Example: USD { symbol: "$", name: "US Dollar", ... }
143
211
  */
144
- export const useCurrencyDetails = (currencyCode, provider) => {
145
- const { data: config } = useGetOnRampConfig(provider);
212
+ export const useCurrencyDetails = (currencyCode) => {
213
+ const { data: config } = useGetOnRampConfig();
146
214
  return useMemo(() => {
147
215
  if (!currencyCode)
148
216
  return undefined;
149
217
  const currencyData = getCurrencyData(currencyCode);
150
- if (!currencyData)
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]);
218
+ const countryData = countryCurrencyMap.find((c) => c.currencyCode === currencyCode);
219
+ if (currencyData) {
220
+ return {
221
+ ...currencyData,
222
+ countryCode: countryData?.countryCode?.toLowerCase(),
223
+ };
224
+ }
225
+ return undefined;
226
+ }, [currencyCode, config?.supportedFiats]);
160
227
  };
161
228
  /**
162
- * Hook to get country details with flag URL based on country code
163
- * @param countryCode - The country code (e.g., "US", "GB")
164
- * @returns Country details including name, flag URL, and other information
229
+ * Gets country details with flag URL and localized name.
230
+ * Example: "US" { name: "United States", flag: "🇺🇸", ... }
165
231
  */
166
232
  export const useCountryDetails = (countryCode) => {
167
233
  return useMemo(() => {
@@ -170,4 +236,67 @@ export const useCountryDetails = (countryCode) => {
170
236
  return getCountryData(countryCode);
171
237
  }, [countryCode]);
172
238
  };
239
+ /**
240
+ * Filters and returns only valid quotes that have available payment methods.
241
+ * Ensures users only see quotes they can actually use.
242
+ */
243
+ export const useAvailableQuotes = (quotes) => {
244
+ return useMemo(() => {
245
+ if (!quotes?.length)
246
+ return [];
247
+ return quotes.filter((quote) => quote.paymentMethods?.length > 0 && quote.rate);
248
+ }, [quotes]);
249
+ };
250
+ /**
251
+ * Gets the recommended quote based on best rates or provider preferences.
252
+ * Falls back to first available quote if no specific recommendation.
253
+ */
254
+ export const useRecommendedQuote = (quotes, recommendedQuote) => {
255
+ const availableQuotes = useAvailableQuotes(quotes);
256
+ return useMemo(() => {
257
+ if (!availableQuotes.length)
258
+ return undefined;
259
+ if (!recommendedQuote)
260
+ return availableQuotes[0];
261
+ // Try to find the recommended quote among available quotes
262
+ const recommendedAvailableQuote = availableQuotes.find((quote) => quote.onrampProviderId === recommendedQuote.onrampProviderId);
263
+ // If recommended quote is not available, return first available quote
264
+ return recommendedAvailableQuote ?? availableQuotes[0];
265
+ }, [availableQuotes, recommendedQuote]);
266
+ };
267
+ /**
268
+ * Gets payment methods for a quote with recommendations.
269
+ * Helps guide users to optimal payment methods (lowest fees, fastest processing).
270
+ */
271
+ export const useQuotePaymentMethods = (quote) => {
272
+ return useMemo(() => {
273
+ if (!quote?.paymentMethods) {
274
+ return {
275
+ paymentMethods: [],
276
+ recommendedPaymentMethod: undefined,
277
+ recommendedPaymentMethodReason: undefined,
278
+ getPaymentMethodById: (id) => undefined,
279
+ };
280
+ }
281
+ const getPaymentMethodById = (id) => quote.paymentMethods.find((method) => method.id === id);
282
+ const recommendedPaymentMethod = quote.paymentMethodsRecommendation
283
+ ? getPaymentMethodById(quote.paymentMethodsRecommendation.recommendedId)
284
+ : quote.paymentMethods.find((method) => method.isRecommended) ??
285
+ quote.paymentMethods[0];
286
+ // Sort payment methods to put recommended first
287
+ const sortedPaymentMethods = [...quote.paymentMethods].sort((a, b) => {
288
+ if (a.id === recommendedPaymentMethod?.id)
289
+ return -1;
290
+ if (b.id === recommendedPaymentMethod?.id)
291
+ return 1;
292
+ return 0;
293
+ });
294
+ return {
295
+ paymentMethods: sortedPaymentMethods,
296
+ recommendedPaymentMethod,
297
+ recommendedPaymentMethodReason: quote.paymentMethodsRecommendation?.reason,
298
+ getPaymentMethodById,
299
+ };
300
+ }, [quote]);
301
+ };
173
302
  //# sourceMappingURL=useFiatToCrypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1 @@
1
- export { OnramperAdapter } from "./onramperClientAdapter";
2
- export { RevolutClientAdapter } from "./revolutClientAdapter";
3
1
  export { EnsService } from "./ens";
@@ -1,4 +1,2 @@
1
- export { OnramperAdapter } from "./onramperClientAdapter";
2
- export { RevolutClientAdapter } from "./revolutClientAdapter";
3
1
  export { EnsService } from "./ens";
4
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/external/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/external/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { ChainData, Token } from "@0xsquid/squid-types";
2
+ import { ExecuteFiatQuoteResult, ExecuteQuoteClient, OnrampConfigResponse, OnRampQuoteParams, OnrampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
3
+ export declare class OnrampService {
4
+ private readonly baseUrl;
5
+ getQuote(params: OnRampQuoteParams): Promise<OnrampQuoteResponse>;
6
+ executeQuote(params: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
7
+ getTransactionStatus(transactionId: string, walletAddress: string, providerId: string): Promise<OnRampTransactionStatus>;
8
+ getConfiguration({ chains, tokens, }: {
9
+ chains: ChainData[];
10
+ tokens: Token[];
11
+ }): Promise<OnrampConfigResponse>;
12
+ }
@@ -0,0 +1,41 @@
1
+ import axios from "axios";
2
+ export class OnrampService {
3
+ baseUrl = `http://localhost:3006/api/fiat-to-crypto`;
4
+ async getQuote(params) {
5
+ const { data } = await axios.get(`${this.baseUrl}/quotes`, {
6
+ params: {
7
+ fiatCurrency: params.fiatCurrency,
8
+ cryptoCurrencyID: params.cryptoCurrencyID,
9
+ amount: params.amount,
10
+ region: params.region,
11
+ paymentMethod: params.paymentMethod,
12
+ },
13
+ });
14
+ return data;
15
+ }
16
+ async executeQuote(params) {
17
+ const { data } = await axios.post(`${this.baseUrl}/execute`, params);
18
+ return data;
19
+ }
20
+ async getTransactionStatus(transactionId, walletAddress, providerId) {
21
+ const { data } = await axios.get(`${this.baseUrl}/status/${transactionId}`, {
22
+ params: {
23
+ providerId,
24
+ wallet: walletAddress,
25
+ },
26
+ });
27
+ return data;
28
+ }
29
+ async getConfiguration({ chains, tokens, }) {
30
+ const { data } = await axios.get(`${this.baseUrl}/config`);
31
+ // Filter supportedCryptos to only include tokens that match our provided tokens
32
+ const filteredCryptos = data.supportedCryptos.filter((supportedCrypto) => tokens.some((token) => token.address.toLowerCase() ===
33
+ supportedCrypto.address.toLowerCase() &&
34
+ token.chainId === supportedCrypto.chainId));
35
+ return {
36
+ ...data,
37
+ supportedCryptos: filteredCryptos,
38
+ };
39
+ }
40
+ }
41
+ //# sourceMappingURL=onrampAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onrampAdapter.js","sourceRoot":"","sources":["../../../src/services/external/onrampAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,OAAO,aAAa;IACP,OAAO,GAAG,0CAA0C,CAAC;IAEtE,KAAK,CAAC,QAAQ,CAAC,MAAyB;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,SAAS,EACxB;YACE,MAAM,EAAE;gBACN,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,IAAI,CAAC,OAAO,UAAU,EACzB,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,aAAqB,EACrB,aAAqB,EACrB,UAAkB;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,WAAW,aAAa,EAAE,EACzC;YACE,MAAM,EAAE;gBACN,UAAU;gBACV,MAAM,EAAE,aAAa;aACtB;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,MAAM,EACN,MAAM,GAIP;QACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,SAAS,CACzB,CAAC;QAEF,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CACvE,MAAM,CAAC,IAAI,CACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;YACzB,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE;YACvC,KAAK,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,CAC5C,CACF,CAAC;QAEF,OAAO;YACL,GAAG,IAAI;YACP,gBAAgB,EAAE,eAAe;SAClC,CAAC;IACJ,CAAC;CACF"}
@@ -6,6 +6,7 @@ export * from "./internal/cosmosService";
6
6
  export * from "./internal/errorService";
7
7
  export * from "./internal/eventService";
8
8
  export * from "./internal/evmService";
9
+ export * from "./internal/fiatToCryptoService";
9
10
  export * from "./internal/numberService";
10
11
  export * from "./internal/priceService";
11
12
  export * from "./internal/searchService";
@@ -6,6 +6,7 @@ export * from "./internal/cosmosService";
6
6
  export * from "./internal/errorService";
7
7
  export * from "./internal/eventService";
8
8
  export * from "./internal/evmService";
9
+ export * from "./internal/fiatToCryptoService";
9
10
  export * from "./internal/numberService";
10
11
  export * from "./internal/priceService";
11
12
  export * from "./internal/searchService";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,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,aAAa,CAAC;AAC5B,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,gCAAgC,CAAC;AAC/C,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,5 +1,6 @@
1
1
  import type { RouteRequest, RouteResponse, Token } from "@0xsquid/squid-types";
2
2
  import type { EventListenerFunction, WidgetEventMap } from "../../core/types/event";
3
+ import { ExecuteQuoteClient } from "../../core/types/onramps/onramp";
3
4
  type FindTokenMethod = (address?: string, chainId?: string) => Token | undefined;
4
5
  /**
5
6
  * Creates a hash string from quote request parameters to track changes
@@ -96,5 +97,20 @@ export declare class WidgetEvents extends EventTarget {
96
97
  * @param data Onchain rejection details
97
98
  */
98
99
  dispatchOnchainReject(data: WidgetEventMap["onchainReject"]): void;
100
+ /**
101
+ * Dispatch event when requesting an onramp quote
102
+ * @param data Quote request parameters
103
+ */
104
+ dispatchOnrampQuoteRequest(data: {
105
+ fiatCurrency: string;
106
+ cryptoCurrencyID: string;
107
+ amount: number;
108
+ region?: string;
109
+ }): void;
110
+ /**
111
+ * Dispatch event when executing an onramp quote
112
+ * @param data Quote execution parameters
113
+ */
114
+ dispatchOnrampQuoteExecute(data: ExecuteQuoteClient): void;
99
115
  }
100
116
  export {};
@@ -152,5 +152,19 @@ export class WidgetEvents extends EventTarget {
152
152
  dispatchOnchainReject(data) {
153
153
  this.dispatch("onchainReject", data);
154
154
  }
155
+ /**
156
+ * Dispatch event when requesting an onramp quote
157
+ * @param data Quote request parameters
158
+ */
159
+ dispatchOnrampQuoteRequest(data) {
160
+ this.dispatch("onrampQuoteRequest", data);
161
+ }
162
+ /**
163
+ * Dispatch event when executing an onramp quote
164
+ * @param data Quote execution parameters
165
+ */
166
+ dispatchOnrampQuoteExecute(data) {
167
+ this.dispatch("onrampQuoteExecute", data);
168
+ }
155
169
  }
156
170
  //# sourceMappingURL=eventService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventService.js","sourceRoot":"","sources":["../../../src/services/internal/eventService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventService.js","sourceRoot":"","sources":["../../../src/services/internal/eventService.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,9 @@
1
- import { CountryWithCode, ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatCurrencyEnhanced, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
2
- import { ChainData, Token } from "@0xsquid/squid-types";
1
+ import { CountryWithCode, FiatCurrencyEnhanced } from "../../core/types/onramps/onramp";
3
2
  interface CountryResponse {
4
3
  countryName: string;
5
4
  countryCode: string;
6
5
  }
7
6
  export declare const getUserCountry: () => Promise<CountryResponse>;
8
- export declare class FiatToCryptoService {
9
- private provider?;
10
- constructor(provider?: FiatToCryptoProvider);
11
- static getProviderInfo(provider: FiatToCryptoProvider): import("../external/baseAdapter").ProviderInfo;
12
- getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
13
- getTransactionStatus(transactionId: string, walletAddress: string): Promise<OnRampTransactionStatus>;
14
- executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
15
- getConfiguration(squidConfig: {
16
- chains: ChainData[];
17
- tokens: Token[];
18
- }): Promise<FiatToCryptoConfig | undefined>;
19
- }
20
7
  /**
21
8
  * Get country data from country code
22
9
  * @param countryCode - The country code (e.g., "US", "GB")
@@ -15,35 +15,6 @@ export const getUserCountry = async () => {
15
15
  };
16
16
  }
17
17
  };
18
- export class FiatToCryptoService {
19
- provider;
20
- constructor(provider) {
21
- this.provider = provider;
22
- }
23
- static getProviderInfo(provider) {
24
- return provider.getInfo();
25
- }
26
- async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region = DEFAULT_COUNTRY_CODE) {
27
- if (!this.provider)
28
- throw new Error("Provider is not initialized");
29
- return this.provider.getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod, region);
30
- }
31
- async getTransactionStatus(transactionId, walletAddress) {
32
- if (!this.provider)
33
- throw new Error("Provider is not initialized");
34
- return this.provider.getTransactionStatus(transactionId, walletAddress);
35
- }
36
- async executeQuote(executeQuoteRequest) {
37
- if (!this.provider)
38
- throw new Error("Provider is not initialized");
39
- return this.provider.executeQuote(executeQuoteRequest);
40
- }
41
- async getConfiguration(squidConfig) {
42
- if (!this.provider)
43
- return undefined;
44
- return this.provider.getConfiguration(squidConfig);
45
- }
46
- }
47
18
  /**
48
19
  * Get country data from country code
49
20
  * @param countryCode - The country code (e.g., "US", "GB")