@0xsquid/react-hooks 6.4.0-beta.0 → 6.4.0-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.
- package/dist/core/types/onramps/index.d.ts +2 -1
- package/dist/core/types/onramps/index.js +2 -1
- package/dist/core/types/onramps/index.js.map +1 -1
- package/dist/core/types/onramps/onramp.d.ts +13 -25
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +18 -5
- package/dist/hooks/onramp/useFiatToCrypto.js +77 -29
- package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
- package/dist/hooks/store/useFiatTransactionStore.js +3 -1
- package/dist/hooks/store/useFiatTransactionStore.js.map +1 -1
- package/dist/services/external/baseAdapter.d.ts +31 -0
- package/dist/services/external/baseAdapter.js +32 -0
- package/dist/services/external/baseAdapter.js.map +1 -0
- package/dist/services/external/index.d.ts +1 -0
- package/dist/services/external/index.js +1 -0
- package/dist/services/external/index.js.map +1 -1
- package/dist/services/external/onramperClientAdapter.d.ts +4 -3
- package/dist/services/external/onramperClientAdapter.js +15 -21
- package/dist/services/external/onramperClientAdapter.js.map +1 -1
- package/dist/services/external/revolutClientAdapter.d.ts +4 -5
- package/dist/services/external/revolutClientAdapter.js +14 -35
- package/dist/services/external/revolutClientAdapter.js.map +1 -1
- package/dist/services/internal/fiatToCryptoService.d.ts +2 -9
- package/dist/services/internal/fiatToCryptoService.js +1 -17
- package/dist/services/internal/fiatToCryptoService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from "./";
|
|
1
|
+
export * from "./onramp";
|
|
2
|
+
export * from "./revolut";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/onramps/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/onramps/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { ChainData
|
|
1
|
+
import { ChainData } from "@0xsquid/squid-types";
|
|
2
2
|
import { ICountry } from "countries-list";
|
|
3
|
+
import { BaseFiatToCryptoAdapter } from "../../../services/external/baseAdapter";
|
|
4
|
+
import { Token } from "../tokens";
|
|
3
5
|
export type OnRampTransactionStatusType = "awaiting_payment" | "processing" | "completed" | "failed";
|
|
4
6
|
export type PaymentMethodType = "credit_card" | "bank_transfer";
|
|
5
7
|
export type OnRampProviderType = "revolut" | "onramper";
|
|
@@ -36,23 +38,23 @@ export type OnRampTransactionStatus = {
|
|
|
36
38
|
updatedAt: string;
|
|
37
39
|
errorMessage?: string | null;
|
|
38
40
|
};
|
|
39
|
-
export type
|
|
41
|
+
export type ExecuteQuoteServer = {
|
|
40
42
|
orderId: string;
|
|
41
43
|
fiatCurrency: string;
|
|
42
44
|
cryptoCurrencyID: string;
|
|
43
|
-
squidToken?: Token;
|
|
44
45
|
amount: number;
|
|
45
|
-
cryptoAmount: number;
|
|
46
46
|
walletAddress: string;
|
|
47
47
|
paymentMethod: PaymentMethodType;
|
|
48
|
-
payerEmail: string;
|
|
49
48
|
region?: string;
|
|
49
|
+
};
|
|
50
|
+
export type ExecuteQuoteClient = Omit<ExecuteQuoteServer, "orderId"> & {
|
|
51
|
+
cryptoAmount: number;
|
|
52
|
+
squidToken?: Token;
|
|
50
53
|
fees?: {
|
|
51
54
|
fixed: number;
|
|
52
55
|
percentage: number;
|
|
53
56
|
};
|
|
54
57
|
};
|
|
55
|
-
export type ExecuteQuoteClient = Omit<ExecuteQuote, "orderId">;
|
|
56
58
|
export type FiatCurrency = {
|
|
57
59
|
denomination: string;
|
|
58
60
|
minLimit?: number;
|
|
@@ -71,6 +73,7 @@ export type TokenWithOnRampID = Token & {
|
|
|
71
73
|
};
|
|
72
74
|
export type CountryWithCode = ICountry & {
|
|
73
75
|
code: string;
|
|
76
|
+
flagUrl?: string;
|
|
74
77
|
};
|
|
75
78
|
export type FiatToCryptoConfig = {
|
|
76
79
|
supportedPaymentMethods: string[];
|
|
@@ -78,29 +81,14 @@ export type FiatToCryptoConfig = {
|
|
|
78
81
|
supportedCurrencies: FiatCurrencyEnhanced[];
|
|
79
82
|
supportedCountries: CountryWithCode[];
|
|
80
83
|
};
|
|
81
|
-
export
|
|
82
|
-
readonly key?: string;
|
|
83
|
-
readonly label?: string;
|
|
84
|
-
readonly supportedPaymentMethods?: readonly string[];
|
|
85
|
-
getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
86
|
-
getTransactionStatus(transactionId: string, walletAddress?: string): Promise<OnRampTransactionStatus>;
|
|
87
|
-
executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
88
|
-
getConfiguration(squidConfig: {
|
|
89
|
-
chains: ChainData[];
|
|
90
|
-
tokens: Token[];
|
|
91
|
-
}): Promise<FiatToCryptoConfig>;
|
|
92
|
-
mapPaymentMethod?(method: string): string;
|
|
93
|
-
mapConfigResponse?(data: any, squidConfig: {
|
|
94
|
-
chains: ChainData[];
|
|
95
|
-
tokens: Token[];
|
|
96
|
-
}): FiatToCryptoConfig;
|
|
97
|
-
mapQuoteResponse?(data: any, fiatCurrency: string, cryptoCurrencyID: string, originalAmount: number): OnRampQuoteResponse;
|
|
98
|
-
}
|
|
84
|
+
export type FiatToCryptoProvider = BaseFiatToCryptoAdapter;
|
|
99
85
|
export type FiatTransactionHistory = {
|
|
86
|
+
fromCountryCode: string;
|
|
100
87
|
orderId: string;
|
|
101
88
|
fromFiatCurrency: string;
|
|
102
89
|
fromAmount: string;
|
|
103
|
-
|
|
90
|
+
toCryptoCurrencyID: string;
|
|
91
|
+
toTokenAddress: string;
|
|
104
92
|
toCryptoAmount: string;
|
|
105
93
|
toChainId: string;
|
|
106
94
|
toAddress: string;
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { useSquid } from "./squid/useSquid";
|
|
|
8
8
|
export { useAddressBookStore } from "./store/useAddressBookStore";
|
|
9
9
|
export { useAssetsColorsStore } from "./store/useAssetsColorsStore";
|
|
10
10
|
export { useFavoriteTokensStore, type FavoriteToken, } from "./store/useFavoriteTokensStore";
|
|
11
|
+
export { useFiatTransactionStore } from "./store/useFiatTransactionStore";
|
|
11
12
|
export { useHistoryStore } from "./store/useHistoryStore";
|
|
12
13
|
export { useConfigStore, useSquidStore, useSwapRoutePersistStore, useTransactionStore, } from "./store/useSquidStore";
|
|
13
14
|
export { useDepositAddress } from "./swap/useDepositAddress";
|
|
@@ -33,6 +34,7 @@ export { useSingleTransaction } from "./transaction/useSingleTransaction";
|
|
|
33
34
|
export { useAvatar } from "./user/useAvatar";
|
|
34
35
|
export { useHistory } from "./user/useHistory";
|
|
35
36
|
export { useUserParams } from "./user/useUserParams";
|
|
37
|
+
export { useDebouncedValue } from "./utils/useUtils";
|
|
36
38
|
export { useAddToken } from "./wallet/useAddToken";
|
|
37
39
|
export { useAutoConnect } from "./wallet/useAutoConnect";
|
|
38
40
|
export { useEnsDataForAddress, useEnsSearch } from "./wallet/useEns";
|
package/dist/hooks/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export { useSquid } from "./squid/useSquid";
|
|
|
8
8
|
export { useAddressBookStore } from "./store/useAddressBookStore";
|
|
9
9
|
export { useAssetsColorsStore } from "./store/useAssetsColorsStore";
|
|
10
10
|
export { useFavoriteTokensStore, } from "./store/useFavoriteTokensStore";
|
|
11
|
+
export { useFiatTransactionStore } from "./store/useFiatTransactionStore";
|
|
11
12
|
export { useHistoryStore } from "./store/useHistoryStore";
|
|
12
13
|
export { useConfigStore, useSquidStore, useSwapRoutePersistStore, useTransactionStore, } from "./store/useSquidStore";
|
|
13
14
|
export { useDepositAddress } from "./swap/useDepositAddress";
|
|
@@ -33,6 +34,7 @@ export { useSingleTransaction } from "./transaction/useSingleTransaction";
|
|
|
33
34
|
export { useAvatar } from "./user/useAvatar";
|
|
34
35
|
export { useHistory } from "./user/useHistory";
|
|
35
36
|
export { useUserParams } from "./user/useUserParams";
|
|
37
|
+
export { useDebouncedValue } from "./utils/useUtils";
|
|
36
38
|
export { useAddToken } from "./wallet/useAddToken";
|
|
37
39
|
export { useAutoConnect } from "./wallet/useAutoConnect";
|
|
38
40
|
export { useEnsDataForAddress, useEnsSearch } from "./wallet/useEns";
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ExecuteFiatQuoteResultClient, ExecuteQuoteClient, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
1
|
+
import { CountryWithCode, ExecuteFiatQuoteResultClient, ExecuteQuoteClient, FiatCurrencyEnhanced, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
2
|
interface GetFiatQuoteParams {
|
|
3
3
|
provider: FiatToCryptoProvider;
|
|
4
4
|
fiatCurrency: string;
|
|
5
5
|
cryptoCurrencyID: string;
|
|
6
6
|
amount: number;
|
|
7
|
-
debounceMs?: number;
|
|
8
7
|
region?: string;
|
|
8
|
+
enabled?: boolean;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Hook to fetch quote for fiat to crypto conversion
|
|
@@ -15,13 +15,13 @@ interface GetFiatQuoteParams {
|
|
|
15
15
|
* @param amount - The amount in fiat to convert
|
|
16
16
|
* @returns Query result containing the quote information
|
|
17
17
|
*/
|
|
18
|
-
export declare const useGetFiatQuote: ({ provider, fiatCurrency, cryptoCurrencyID, amount,
|
|
18
|
+
export declare const useGetFiatQuote: ({ provider, fiatCurrency, cryptoCurrencyID, amount, region, enabled, }: GetFiatQuoteParams) => import("@tanstack/react-query").UseQueryResult<OnRampQuoteResponse, unknown>;
|
|
19
19
|
/**
|
|
20
20
|
* Hook to fetch provider configuration and filter compatible tokens
|
|
21
21
|
* @param provider - The fiat-to-crypto provider
|
|
22
22
|
* @returns Query result containing the provider config and filtered token list
|
|
23
23
|
*/
|
|
24
|
-
export declare const useGetOnRampConfig: (provider
|
|
24
|
+
export declare const useGetOnRampConfig: (provider?: FiatToCryptoProvider) => import("@tanstack/react-query").UseQueryResult<FiatToCryptoConfig, unknown>;
|
|
25
25
|
/**
|
|
26
26
|
* Hook to execute a fiat to crypto quote and handle the order creation
|
|
27
27
|
* @param provider - The fiat-to-crypto provider
|
|
@@ -40,9 +40,22 @@ export declare const useFiatOnRampTxStatus: (provider: FiatToCryptoProvider, tra
|
|
|
40
40
|
* Hook to track all fiat transactions and their status
|
|
41
41
|
* @returns Array of transactions with their latest status
|
|
42
42
|
*/
|
|
43
|
-
export declare const useFiatTransactions: (provider
|
|
43
|
+
export declare const useFiatTransactions: (provider?: FiatToCryptoProvider) => {
|
|
44
44
|
transactions: import("../../core/types/onramps/onramp").FiatTransactionHistory[];
|
|
45
45
|
isLoading: boolean;
|
|
46
46
|
isError: boolean;
|
|
47
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Hook to get currency details based on denomination
|
|
50
|
+
* @param currencyCode - The currency code (e.g., "USD", "EUR")
|
|
51
|
+
* @param provider - The fiat-to-crypto provider
|
|
52
|
+
* @returns Currency details including symbol and denomination
|
|
53
|
+
*/
|
|
54
|
+
export declare const useCurrencyDetails: (currencyCode?: string, provider?: FiatToCryptoProvider) => FiatCurrencyEnhanced | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Hook to get country details with flag URL based on country code
|
|
57
|
+
* @param countryCode - The country code (e.g., "US", "GB")
|
|
58
|
+
* @returns Country details including name, flag URL, and other information
|
|
59
|
+
*/
|
|
60
|
+
export declare const useCountryDetails: (countryCode?: string) => CountryWithCode | undefined;
|
|
48
61
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { useMutation, useQueries, useQuery } from "@tanstack/react-query";
|
|
2
|
+
import { countries } from "countries-list";
|
|
3
|
+
import getSymbolFromCurrency from "currency-symbol-map";
|
|
2
4
|
import { useMemo } from "react";
|
|
3
5
|
import { keys } from "../../core/queries/queries-keys";
|
|
4
6
|
import { FiatToCryptoService } from "../../services/internal/fiatToCryptoService";
|
|
@@ -6,7 +8,6 @@ import { isWalletAddressValid } from "../../services/internal/walletService";
|
|
|
6
8
|
import { useSquidChains } from "../chains/useSquidChains";
|
|
7
9
|
import { useFiatTransactionStore } from "../store/useFiatTransactionStore";
|
|
8
10
|
import { useSquidTokens } from "../tokens/useSquidTokens";
|
|
9
|
-
import { useDebouncedValue } from "../utils/useUtils";
|
|
10
11
|
const TX_STATUS_CONSTANTS = {
|
|
11
12
|
RETRY_COUNT: 10,
|
|
12
13
|
RETRY_DELAY: 60_000,
|
|
@@ -20,16 +21,14 @@ const TX_STATUS_CONSTANTS = {
|
|
|
20
21
|
* @param amount - The amount in fiat to convert
|
|
21
22
|
* @returns Query result containing the quote information
|
|
22
23
|
*/
|
|
23
|
-
export const useGetFiatQuote = ({ provider, fiatCurrency, cryptoCurrencyID, amount,
|
|
24
|
+
export const useGetFiatQuote = ({ provider, fiatCurrency, cryptoCurrencyID, amount, region, enabled = true, }) => {
|
|
24
25
|
const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
|
|
25
|
-
const debouncedAmount = useDebouncedValue(amount, debounceMs);
|
|
26
26
|
return useQuery({
|
|
27
|
-
queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID,
|
|
27
|
+
queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID, amount, region),
|
|
28
28
|
queryFn: () => {
|
|
29
|
-
|
|
30
|
-
return service.getQuote(fiatCurrency, cryptoCurrencyID, debouncedAmount, undefined, region);
|
|
29
|
+
return service.getQuote(fiatCurrency, cryptoCurrencyID, amount, undefined, region);
|
|
31
30
|
},
|
|
32
|
-
enabled: !!fiatCurrency && !!cryptoCurrencyID &&
|
|
31
|
+
enabled: enabled && !!fiatCurrency && !!cryptoCurrencyID && amount > 0,
|
|
33
32
|
});
|
|
34
33
|
};
|
|
35
34
|
/**
|
|
@@ -42,11 +41,14 @@ export const useGetOnRampConfig = (provider) => {
|
|
|
42
41
|
const { chains } = useSquidChains();
|
|
43
42
|
const { tokens } = useSquidTokens();
|
|
44
43
|
return useQuery({
|
|
45
|
-
queryKey: keys().fiatToCryptoConfig(provider
|
|
44
|
+
queryKey: keys().fiatToCryptoConfig(provider?.key),
|
|
46
45
|
queryFn: () => service.getConfiguration({
|
|
47
46
|
chains,
|
|
48
47
|
tokens,
|
|
49
48
|
}),
|
|
49
|
+
cacheTime: 1000 * 60 * 60,
|
|
50
|
+
staleTime: 1000 * 60 * 30,
|
|
51
|
+
enabled: !!provider,
|
|
50
52
|
});
|
|
51
53
|
};
|
|
52
54
|
/**
|
|
@@ -114,27 +116,29 @@ export const useFiatTransactions = (provider) => {
|
|
|
114
116
|
const transactions = useFiatTransactionStore((state) => state.transactions);
|
|
115
117
|
const updateTransactionStatus = useFiatTransactionStore((state) => state.updateTransactionStatus);
|
|
116
118
|
const queries = useQueries({
|
|
117
|
-
queries:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
119
|
+
queries: provider
|
|
120
|
+
? transactions
|
|
121
|
+
.filter((tx) => !["completed", "failed"].includes(tx.status))
|
|
122
|
+
.map((tx) => ({
|
|
123
|
+
queryKey: keys().fiatToCryptoStatus(tx.orderId),
|
|
124
|
+
queryFn: () => provider.getTransactionStatus(tx.orderId, tx.toAddress),
|
|
125
|
+
retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
126
|
+
retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
127
|
+
refetchInterval: (data) => {
|
|
128
|
+
if (data?.status === "completed" || data?.status === "failed") {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
132
|
+
},
|
|
133
|
+
onSuccess: (data) => {
|
|
134
|
+
updateTransactionStatus(tx.orderId, data.status, data.transactionHash);
|
|
135
|
+
},
|
|
136
|
+
onError: () => {
|
|
137
|
+
updateTransactionStatus(tx.orderId, "failed", undefined);
|
|
138
|
+
},
|
|
139
|
+
enabled: true,
|
|
140
|
+
}))
|
|
141
|
+
: [],
|
|
138
142
|
});
|
|
139
143
|
return {
|
|
140
144
|
transactions,
|
|
@@ -142,4 +146,48 @@ export const useFiatTransactions = (provider) => {
|
|
|
142
146
|
isError: queries.some((q) => q.isError),
|
|
143
147
|
};
|
|
144
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* Hook to get currency details based on denomination
|
|
151
|
+
* @param currencyCode - The currency code (e.g., "USD", "EUR")
|
|
152
|
+
* @param provider - The fiat-to-crypto provider
|
|
153
|
+
* @returns Currency details including symbol and denomination
|
|
154
|
+
*/
|
|
155
|
+
export const useCurrencyDetails = (currencyCode, provider) => {
|
|
156
|
+
const { data: config } = useGetOnRampConfig(provider);
|
|
157
|
+
const currency = config?.supportedCurrencies.find((c) => c.denomination === currencyCode);
|
|
158
|
+
return useMemo(() => {
|
|
159
|
+
if (!currencyCode)
|
|
160
|
+
return undefined;
|
|
161
|
+
return {
|
|
162
|
+
denomination: currencyCode,
|
|
163
|
+
symbol: getSymbolFromCurrency(currencyCode) ?? "",
|
|
164
|
+
// Optional: Add min/max limits if available from current provider
|
|
165
|
+
minLimit: currency?.minLimit,
|
|
166
|
+
maxLimit: currency?.maxLimit,
|
|
167
|
+
};
|
|
168
|
+
}, [currencyCode, currency?.minLimit, currency?.maxLimit]);
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Hook to get country details with flag URL based on country code
|
|
172
|
+
* @param countryCode - The country code (e.g., "US", "GB")
|
|
173
|
+
* @returns Country details including name, flag URL, and other information
|
|
174
|
+
*/
|
|
175
|
+
export const useCountryDetails = (countryCode) => {
|
|
176
|
+
return useMemo(() => {
|
|
177
|
+
if (!countryCode)
|
|
178
|
+
return undefined;
|
|
179
|
+
const countryCodeUpper = countryCode.toUpperCase();
|
|
180
|
+
const countryCodeLower = countryCode.toLowerCase();
|
|
181
|
+
const countryData = countries[countryCodeUpper];
|
|
182
|
+
if (!countryData)
|
|
183
|
+
return undefined;
|
|
184
|
+
return {
|
|
185
|
+
...countryData,
|
|
186
|
+
code: countryCodeUpper,
|
|
187
|
+
flagUrl: countryCodeLower
|
|
188
|
+
? `https://flagcdn.com/w40/${countryCodeLower}.png`
|
|
189
|
+
: "",
|
|
190
|
+
};
|
|
191
|
+
}, [countryCode]);
|
|
192
|
+
};
|
|
145
193
|
//# 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,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,9 @@ export const useFiatTransactionStore = create(persist((set) => ({
|
|
|
11
11
|
orderId,
|
|
12
12
|
fromFiatCurrency: executeQuoteRequest.fiatCurrency,
|
|
13
13
|
fromAmount: executeQuoteRequest.amount.toString(),
|
|
14
|
-
|
|
14
|
+
toCryptoCurrencyID: executeQuoteRequest.cryptoCurrencyID,
|
|
15
|
+
fromCountryCode: executeQuoteRequest.region ?? "",
|
|
16
|
+
toTokenAddress: executeQuoteRequest.squidToken?.address ?? "",
|
|
15
17
|
toCryptoAmount: executeQuoteRequest.cryptoAmount.toString(),
|
|
16
18
|
toChainId: toChain?.chainId ?? "",
|
|
17
19
|
toAddress: executeQuoteRequest.walletAddress,
|
|
@@ -1 +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,
|
|
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;iBACtB;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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { CountryWithCode, ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatCurrencyEnhanced, FiatToCryptoConfig, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
3
|
+
export type ProviderInfo = {
|
|
4
|
+
value: string;
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
iconUrl: string;
|
|
8
|
+
supportedPaymentMethods: readonly string[];
|
|
9
|
+
};
|
|
10
|
+
export declare abstract class BaseFiatToCryptoAdapter {
|
|
11
|
+
abstract readonly key: string;
|
|
12
|
+
abstract readonly label: string;
|
|
13
|
+
abstract readonly supportedPaymentMethods: readonly string[];
|
|
14
|
+
private readonly baseIconUrl;
|
|
15
|
+
getInfo(): ProviderInfo;
|
|
16
|
+
getCountryData(countryCode: string): CountryWithCode;
|
|
17
|
+
getCurrencyData(currencyCode: string): FiatCurrencyEnhanced;
|
|
18
|
+
abstract getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
19
|
+
abstract getTransactionStatus(transactionId: string, walletAddress?: string): Promise<OnRampTransactionStatus>;
|
|
20
|
+
abstract executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
21
|
+
abstract getConfiguration(squidConfig: {
|
|
22
|
+
chains: ChainData[];
|
|
23
|
+
tokens: Token[];
|
|
24
|
+
}): Promise<FiatToCryptoConfig>;
|
|
25
|
+
mapPaymentMethod?(method: string): string;
|
|
26
|
+
mapConfigResponse?(data: any, squidConfig: {
|
|
27
|
+
chains: ChainData[];
|
|
28
|
+
tokens: Token[];
|
|
29
|
+
}): FiatToCryptoConfig;
|
|
30
|
+
mapQuoteResponse?(data: any, fiatCurrency: string, cryptoCurrencyID: string, originalAmount: number): OnRampQuoteResponse;
|
|
31
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { countries } from "countries-list";
|
|
2
|
+
import getSymbolFromCurrency from "currency-symbol-map";
|
|
3
|
+
export class BaseFiatToCryptoAdapter {
|
|
4
|
+
baseIconUrl = "https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/onramps";
|
|
5
|
+
getInfo() {
|
|
6
|
+
return {
|
|
7
|
+
value: this.key,
|
|
8
|
+
key: this.key,
|
|
9
|
+
label: this.label,
|
|
10
|
+
supportedPaymentMethods: this.supportedPaymentMethods,
|
|
11
|
+
iconUrl: `${this.baseIconUrl}/${this.key}.webp`,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
getCountryData(countryCode) {
|
|
15
|
+
const countryCodeUpper = countryCode.toUpperCase();
|
|
16
|
+
const countryCodeLower = countryCode.toLowerCase();
|
|
17
|
+
return {
|
|
18
|
+
...countries[countryCodeUpper],
|
|
19
|
+
code: countryCodeUpper,
|
|
20
|
+
flagUrl: countryCodeLower
|
|
21
|
+
? `https://flagcdn.com/w40/${countryCodeLower}.png`
|
|
22
|
+
: "",
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
getCurrencyData(currencyCode) {
|
|
26
|
+
return {
|
|
27
|
+
denomination: currencyCode,
|
|
28
|
+
symbol: getSymbolFromCurrency(currencyCode) ?? "",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=baseAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseAdapter.js","sourceRoot":"","sources":["../../../src/services/external/baseAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,qBAAqB,MAAM,qBAAqB,CAAC;AAmBxD,MAAM,OAAgB,uBAAuB;IAO1B,WAAW,GAC1B,8EAA8E,CAAC;IAEjF,OAAO;QACL,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,OAAO;SAChD,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAEnD,OAAO;YACL,GAAG,SAAS,CAAC,gBAA0C,CAAC;YACxD,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,gBAAgB;gBACvB,CAAC,CAAC,2BAA2B,gBAAgB,MAAM;gBACnD,CAAC,CAAC,EAAE;SACP,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,YAAoB;QAClC,OAAO;YACL,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE;SAClD,CAAC;IACJ,CAAC;CAsCF"}
|
|
@@ -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"}
|
|
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,5 +1,6 @@
|
|
|
1
|
-
import { ExecuteFiatQuoteResult,
|
|
2
|
-
|
|
1
|
+
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatToCryptoConfig, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
|
+
import { BaseFiatToCryptoAdapter } from "./baseAdapter";
|
|
3
|
+
export declare class OnramperAdapter extends BaseFiatToCryptoAdapter {
|
|
3
4
|
readonly key = "onramper";
|
|
4
5
|
readonly label = "Onramper";
|
|
5
6
|
readonly supportedPaymentMethods: readonly ["credit_card", "bank_transfer"];
|
|
@@ -8,7 +9,7 @@ export declare class OnramperAdapter implements FiatToCryptoProvider {
|
|
|
8
9
|
private getHeaders;
|
|
9
10
|
getQuote(fiatCurrency: string, cryptoCurrency: string, amount: number): Promise<OnRampQuoteResponse>;
|
|
10
11
|
getTransactionStatus(transactionId: string): Promise<OnRampTransactionStatus>;
|
|
11
|
-
executeQuote(executeQuoteRequest:
|
|
12
|
+
executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
12
13
|
private getCryptoNetwork;
|
|
13
14
|
getConfiguration(): Promise<FiatToCryptoConfig>;
|
|
14
15
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
-
|
|
2
|
+
import { BaseFiatToCryptoAdapter } from "./baseAdapter";
|
|
3
|
+
export class OnramperAdapter extends BaseFiatToCryptoAdapter {
|
|
3
4
|
key = "onramper";
|
|
4
5
|
label = "Onramper";
|
|
5
6
|
supportedPaymentMethods = ["credit_card", "bank_transfer"];
|
|
@@ -74,32 +75,24 @@ export class OnramperAdapter {
|
|
|
74
75
|
}
|
|
75
76
|
async executeQuote(executeQuoteRequest) {
|
|
76
77
|
try {
|
|
77
|
-
const { data } = await axios.post(`${this.baseUrl}/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
destination: executeQuoteRequest.cryptoCurrencyID.toLowerCase(),
|
|
78
|
+
const { data } = await axios.post(`${this.baseUrl}/transactions`, {
|
|
79
|
+
fiatCurrency: executeQuoteRequest.fiatCurrency,
|
|
80
|
+
cryptoCurrency: executeQuoteRequest.cryptoCurrencyID,
|
|
81
81
|
amount: executeQuoteRequest.amount,
|
|
82
|
-
|
|
83
|
-
paymentMethod: executeQuoteRequest.paymentMethod
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
partnerContext: executeQuoteRequest.orderId,
|
|
88
|
-
metaData: {
|
|
89
|
-
quoteId: executeQuoteRequest.orderId,
|
|
90
|
-
},
|
|
91
|
-
wallet: {
|
|
92
|
-
address: executeQuoteRequest.walletAddress,
|
|
93
|
-
},
|
|
94
|
-
}, { headers: this.getHeaders() });
|
|
82
|
+
walletAddress: executeQuoteRequest.walletAddress,
|
|
83
|
+
paymentMethod: executeQuoteRequest.paymentMethod,
|
|
84
|
+
}, {
|
|
85
|
+
headers: this.getHeaders(),
|
|
86
|
+
});
|
|
95
87
|
return {
|
|
96
|
-
|
|
97
|
-
|
|
88
|
+
redirectUrl: data.redirectUrl,
|
|
89
|
+
orderId: data.transactionId,
|
|
98
90
|
};
|
|
99
91
|
}
|
|
100
92
|
catch (error) {
|
|
101
93
|
if (axios.isAxiosError(error)) {
|
|
102
|
-
throw new Error(error.response?.data?.message ||
|
|
94
|
+
throw new Error(error.response?.data?.message ||
|
|
95
|
+
"Failed to execute quote with Onramper");
|
|
103
96
|
}
|
|
104
97
|
throw error;
|
|
105
98
|
}
|
|
@@ -117,6 +110,7 @@ export class OnramperAdapter {
|
|
|
117
110
|
const { data } = await axios.get(`${this.baseUrl}/config`, {
|
|
118
111
|
headers: this.getHeaders(),
|
|
119
112
|
});
|
|
113
|
+
// Add flag URLs to country data
|
|
120
114
|
return {
|
|
121
115
|
supportedCountries: data.supportedCountries || [],
|
|
122
116
|
supportedCurrencies: data.supportedCurrencies || [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onramperClientAdapter.js","sourceRoot":"","sources":["../../../src/services/external/onramperClientAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"onramperClientAdapter.js","sourceRoot":"","sources":["../../../src/services/external/onramperClientAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,OAAO,eAAgB,SAAQ,uBAAuB;IACjD,GAAG,GAAG,UAAU,CAAC;IAEjB,KAAK,GAAG,UAAU,CAAC;IAEnB,uBAAuB,GAAG,CAAC,aAAa,EAAE,eAAe,CAAU,CAAC;IAE5D,OAAO,GAAW,0BAA0B,CAAC;IAE7C,MAAM,GAAW,kBAAkB,CAAC;IAE7C,UAAU;QAChB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,cAAsB,EACtB,MAAc;QAEd,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,WAAW,YAAY,CAAC,WAAW,EAAE,IAAI,cAAc,CAAC,WAAW,EAAE,EAAE,EACtF;gBACE,MAAM,EAAE;oBACN,MAAM;oBACN,aAAa,EAAE,YAAY;iBAC5B;gBACD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;aAC3B,CACF,CAAC;YAEF,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACtD;YAED,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;YAClE,MAAM,aAAa,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;YAEjD,OAAO;gBACL,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE;gBACxC,gBAAgB,EAAE,cAAc,CAAC,WAAW,EAAE;gBAC9C,MAAM;gBACN,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,aAAa;iBAC1B;gBACD,YAAY,EAAE,SAAS,CAAC,MAAM;aAC/B,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,mCAAmC,CACrE,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,aAAqB;QAErB,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,iBAAiB,aAAa,EAAE,EAC/C;gBACE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;aAC3B,CACF,CAAC;YAEF,MAAM,SAAS,GAAgD;gBAC7D,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,WAAW;gBACtB,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY;gBAC9C,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;aACnD,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;oBAC3B,gDAAgD,CACnD,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,mBAAuC;QAEvC,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,IAAI,CAAC,OAAO,eAAe,EAC9B;gBACE,YAAY,EAAE,mBAAmB,CAAC,YAAY;gBAC9C,cAAc,EAAE,mBAAmB,CAAC,gBAAgB;gBACpD,MAAM,EAAE,mBAAmB,CAAC,MAAM;gBAClC,aAAa,EAAE,mBAAmB,CAAC,aAAa;gBAChD,aAAa,EAAE,mBAAmB,CAAC,aAAa;aACjD,EACD;gBACE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;aAC3B,CACF,CAAC;YAEF,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;oBAC3B,uCAAuC,CAC1C,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAEO,gBAAgB,CAAC,cAAsB;QAC7C,MAAM,UAAU,GAA2B;YACzC,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;SACd,CAAC;QACF,OAAO,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,UAAU,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE;gBACzD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;aAC3B,CAAC,CAAC;YAEH,gCAAgC;YAEhC,OAAO;gBACL,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;gBACjD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,EAAE;gBACnD,uBAAuB,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAC1D,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;aAC5C,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;oBAC3B,wCAAwC,CAC3C,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
-
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatToCryptoConfig,
|
|
2
|
+
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatToCryptoConfig, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
3
3
|
import { RevolutConfig, RevolutQuoteResponse } from "../../core/types/onramps/revolut";
|
|
4
|
-
|
|
4
|
+
import { BaseFiatToCryptoAdapter } from "./baseAdapter";
|
|
5
|
+
export declare class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
5
6
|
readonly key = "revolut";
|
|
6
7
|
readonly label = "Revolut";
|
|
7
8
|
readonly supportedPaymentMethods: readonly ["card", "revolut", "apple-pay", "google-pay"];
|
|
8
9
|
private readonly baseUrl;
|
|
9
|
-
private getCountryData;
|
|
10
|
-
private getCurrencyData;
|
|
11
10
|
private findMatchingChain;
|
|
12
11
|
private findMatchingToken;
|
|
13
12
|
private filterAndMapTokens;
|
|
@@ -23,7 +22,7 @@ export declare class RevolutClientAdapter implements FiatToCryptoProvider {
|
|
|
23
22
|
};
|
|
24
23
|
getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
25
24
|
getTransactionStatus(transactionId: string, walletAddress: string): Promise<OnRampTransactionStatus>;
|
|
26
|
-
executeQuote(
|
|
25
|
+
executeQuote(params: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
27
26
|
getConfiguration(squidConfig: {
|
|
28
27
|
chains: ChainData[];
|
|
29
28
|
tokens: Token[];
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
|
-
import { countries } from "countries-list";
|
|
3
|
-
import getSymbolFromCurrency from "currency-symbol-map";
|
|
4
2
|
import { v4 as uuidv4 } from "uuid";
|
|
5
3
|
import { nativeEvmTokenAddress } from "../../core/constants";
|
|
6
|
-
|
|
4
|
+
import { BaseFiatToCryptoAdapter } from "./baseAdapter";
|
|
5
|
+
export class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
7
6
|
key = "revolut";
|
|
8
7
|
label = "Revolut";
|
|
9
8
|
supportedPaymentMethods = [
|
|
@@ -12,34 +11,7 @@ export class RevolutClientAdapter {
|
|
|
12
11
|
"apple-pay",
|
|
13
12
|
"google-pay",
|
|
14
13
|
];
|
|
15
|
-
baseUrl = "/api/fiat-to-crypto/revolut";
|
|
16
|
-
// ================================
|
|
17
|
-
// DATA MAPPING FUNCTIONS
|
|
18
|
-
// ================================
|
|
19
|
-
getCountryData(countryCode) {
|
|
20
|
-
try {
|
|
21
|
-
if (!countries)
|
|
22
|
-
return null;
|
|
23
|
-
const countryCodeUpper = countryCode.toUpperCase();
|
|
24
|
-
const countryData = countries[countryCodeUpper];
|
|
25
|
-
return countryData ? { ...countryData, code: countryCodeUpper } : null;
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
getCurrencyData(currencyCode) {
|
|
32
|
-
try {
|
|
33
|
-
const symbol = getSymbolFromCurrency(currencyCode);
|
|
34
|
-
return {
|
|
35
|
-
denomination: currencyCode,
|
|
36
|
-
symbol: symbol ?? currencyCode,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
14
|
+
baseUrl = "https://squid-app-v2-git-feat-api-fiat-onramp-0xsquid.vercel.app/api/fiat-to-crypto/revolut";
|
|
43
15
|
findMatchingChain(revolutBlockchain, chains) {
|
|
44
16
|
return chains.find((c) => c.networkIdentifier.toUpperCase() === revolutBlockchain);
|
|
45
17
|
}
|
|
@@ -192,13 +164,20 @@ export class RevolutClientAdapter {
|
|
|
192
164
|
throw new Error("Failed to get transaction status");
|
|
193
165
|
}
|
|
194
166
|
}
|
|
195
|
-
async executeQuote(
|
|
167
|
+
async executeQuote(params) {
|
|
196
168
|
try {
|
|
197
169
|
const orderId = uuidv4();
|
|
198
|
-
const
|
|
199
|
-
...executeQuoteRequest,
|
|
170
|
+
const serverParams = {
|
|
200
171
|
orderId,
|
|
201
|
-
|
|
172
|
+
fiatCurrency: params.fiatCurrency,
|
|
173
|
+
cryptoCurrencyID: params.cryptoCurrencyID,
|
|
174
|
+
amount: params.amount,
|
|
175
|
+
walletAddress: params.walletAddress,
|
|
176
|
+
paymentMethod: this.mapPaymentMethod(params.paymentMethod),
|
|
177
|
+
region: params.region || "GB",
|
|
178
|
+
// partnerRedirectUrl: "",
|
|
179
|
+
};
|
|
180
|
+
const { data } = await axios.post(`${this.baseUrl}/execute`, serverParams);
|
|
202
181
|
return {
|
|
203
182
|
redirectUrl: data.redirectUrl,
|
|
204
183
|
orderId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revolutClientAdapter.js","sourceRoot":"","sources":["../../../src/services/external/revolutClientAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"revolutClientAdapter.js","sourceRoot":"","sources":["../../../src/services/external/revolutClientAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import { ExecuteFiatQuoteResult, ExecuteQuoteClient,
|
|
1
|
+
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
2
|
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
3
|
-
import { ICountry } from "countries-list";
|
|
4
3
|
export declare class FiatToCryptoService {
|
|
5
4
|
private provider;
|
|
6
5
|
constructor(provider: FiatToCryptoProvider | undefined);
|
|
7
|
-
static getProviderInfo(provider: FiatToCryptoProvider):
|
|
8
|
-
key: string | undefined;
|
|
9
|
-
label: string | undefined;
|
|
10
|
-
supportedPaymentMethods: readonly string[] | undefined;
|
|
11
|
-
};
|
|
6
|
+
static getProviderInfo(provider: FiatToCryptoProvider): import("../external/baseAdapter").ProviderInfo;
|
|
12
7
|
getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
13
8
|
getTransactionStatus(transactionId: string, walletAddress: string): Promise<OnRampTransactionStatus>;
|
|
14
9
|
executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
@@ -16,6 +11,4 @@ export declare class FiatToCryptoService {
|
|
|
16
11
|
chains: ChainData[];
|
|
17
12
|
tokens: Token[];
|
|
18
13
|
}): Promise<FiatToCryptoConfig>;
|
|
19
|
-
getCountryData(countryCode: string): ICountry;
|
|
20
|
-
getCurrencyData(currencyCode: string): FiatCurrencyEnhanced;
|
|
21
14
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import getSymbolFromCurrency from "currency-symbol-map";
|
|
2
|
-
import { countries } from "countries-list";
|
|
3
1
|
export class FiatToCryptoService {
|
|
4
2
|
provider;
|
|
5
3
|
constructor(provider) {
|
|
@@ -9,11 +7,7 @@ export class FiatToCryptoService {
|
|
|
9
7
|
this.provider = provider;
|
|
10
8
|
}
|
|
11
9
|
static getProviderInfo(provider) {
|
|
12
|
-
return
|
|
13
|
-
key: provider.key,
|
|
14
|
-
label: provider.label,
|
|
15
|
-
supportedPaymentMethods: provider.supportedPaymentMethods,
|
|
16
|
-
};
|
|
10
|
+
return provider.getInfo();
|
|
17
11
|
}
|
|
18
12
|
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region = "GB") {
|
|
19
13
|
return this.provider.getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod, region);
|
|
@@ -27,15 +21,5 @@ export class FiatToCryptoService {
|
|
|
27
21
|
async getConfiguration(squidConfig) {
|
|
28
22
|
return this.provider.getConfiguration(squidConfig);
|
|
29
23
|
}
|
|
30
|
-
getCountryData(countryCode) {
|
|
31
|
-
const countryCodeUpper = countryCode.toUpperCase();
|
|
32
|
-
return countries[countryCodeUpper];
|
|
33
|
-
}
|
|
34
|
-
getCurrencyData(currencyCode) {
|
|
35
|
-
return {
|
|
36
|
-
denomination: currencyCode,
|
|
37
|
-
symbol: getSymbolFromCurrency(currencyCode) ?? "",
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
24
|
}
|
|
41
25
|
//# sourceMappingURL=fiatToCryptoService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiatToCryptoService.js","sourceRoot":"","sources":["../../../src/services/internal/fiatToCryptoService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fiatToCryptoService.js","sourceRoot":"","sources":["../../../src/services/internal/fiatToCryptoService.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,mBAAmB;IACtB,QAAQ,CAAuB;IAEvC,YAAY,QAA0C;QACpD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAA8B;QACnD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,gBAAwB,EACxB,MAAc,EACd,gBAAwB,MAAM,EAC9B,SAAiB,IAAI;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,aAAqB,EACrB,aAAqB;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,mBAAuC;QAEvC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAGtB;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;CACF"}
|