@0xsquid/react-hooks 6.4.0-beta.1 → 6.4.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/abis/ics20.json +128 -0
- package/dist/core/externalLinks.d.ts +1 -1
- package/dist/core/externalLinks.js +1 -1
- package/dist/core/externalLinks.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +1 -7
- package/dist/core/queries/queries-keys.js +0 -24
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +0 -5
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/index.d.ts +0 -1
- package/dist/core/wagmiConfig.js +27 -16
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/swap/useSwap.d.ts +0 -1
- package/dist/hooks/swap/useSwap.js +0 -2
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/transaction/useApproval.js +74 -20
- package/dist/hooks/transaction/useApproval.js.map +1 -1
- package/dist/hooks/transaction/{useAllowance.d.ts → useErc20Allowance.d.ts} +8 -7
- package/dist/hooks/transaction/{useAllowance.js → useErc20Allowance.js} +12 -16
- package/dist/hooks/transaction/useErc20Allowance.js.map +1 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +5 -1
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.js +27 -10
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useIcs20Allowance.d.ts +88 -0
- package/dist/hooks/transaction/useIcs20Allowance.js +40 -0
- package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -0
- package/dist/hooks/user/useHistory.js +0 -1
- package/dist/hooks/user/useHistory.js.map +1 -1
- package/dist/hooks/user/useUserParams.d.ts +0 -1
- package/dist/hooks/user/useUserParams.js +1 -2
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/wallet/useEns.d.ts +1 -0
- package/dist/hooks/wallet/useEns.js +13 -1
- package/dist/hooks/wallet/useEns.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +2 -13
- package/dist/hooks/wallet/useMultiChainWallet.js +2 -2
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +10 -3
- package/dist/services/internal/assetsService.js +96 -14
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +2 -0
- package/dist/services/internal/evmService.js +6 -0
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +0 -2
- package/dist/services/internal/walletService.js +1 -25
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/assetsService.test.js +26 -13
- package/dist/tests/assetsService.test.js.map +1 -1
- package/package.json +3 -5
- package/dist/core/types/onramps/index.d.ts +0 -1
- package/dist/core/types/onramps/index.js +0 -2
- package/dist/core/types/onramps/index.js.map +0 -1
- package/dist/core/types/onramps/onramp.d.ts +0 -112
- package/dist/core/types/onramps/onramp.js +0 -2
- package/dist/core/types/onramps/onramp.js.map +0 -1
- package/dist/core/types/onramps/revolut.d.ts +0 -92
- package/dist/core/types/onramps/revolut.js +0 -2
- package/dist/core/types/onramps/revolut.js.map +0 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +0 -48
- package/dist/hooks/onramp/useFiatToCrypto.js +0 -145
- package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
- package/dist/hooks/store/useFiatTransactionStore.d.ts +0 -20
- package/dist/hooks/store/useFiatTransactionStore.js +0 -36
- package/dist/hooks/store/useFiatTransactionStore.js.map +0 -1
- package/dist/hooks/transaction/useAllowance.js.map +0 -1
- package/dist/hooks/utils/useUtils.d.ts +0 -7
- package/dist/hooks/utils/useUtils.js +0 -20
- package/dist/hooks/utils/useUtils.js.map +0 -1
- package/dist/services/external/index.d.ts +0 -3
- package/dist/services/external/index.js +0 -4
- package/dist/services/external/index.js.map +0 -1
- package/dist/services/external/onramperClientAdapter.d.ts +0 -14
- package/dist/services/external/onramperClientAdapter.js +0 -136
- package/dist/services/external/onramperClientAdapter.js.map +0 -1
- package/dist/services/external/revolutClientAdapter.d.ts +0 -31
- package/dist/services/external/revolutClientAdapter.js +0 -228
- package/dist/services/external/revolutClientAdapter.js.map +0 -1
- package/dist/services/internal/fiatToCryptoService.d.ts +0 -21
- package/dist/services/internal/fiatToCryptoService.js +0 -41
- package/dist/services/internal/fiatToCryptoService.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,112 +0,0 @@
|
|
|
1
|
-
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
-
import { ICountry } from "countries-list";
|
|
3
|
-
export type OnRampTransactionStatusType = "awaiting_payment" | "processing" | "completed" | "failed";
|
|
4
|
-
export type PaymentMethodType = "credit_card" | "bank_transfer";
|
|
5
|
-
export type OnRampProviderType = "revolut" | "onramper";
|
|
6
|
-
export type ExecuteFiatQuoteResult = {
|
|
7
|
-
redirectUrl: string | unknown;
|
|
8
|
-
orderId: string;
|
|
9
|
-
};
|
|
10
|
-
export type ExecuteFiatQuoteResultClient = ExecuteFiatQuoteResult & {
|
|
11
|
-
executeQuoteRequest: ExecuteQuoteClient;
|
|
12
|
-
toChain: ChainData | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type OnRampQuoteResponse = {
|
|
15
|
-
fiatCurrency: string;
|
|
16
|
-
cryptoCurrencyID: string;
|
|
17
|
-
amount: number;
|
|
18
|
-
fees?: {
|
|
19
|
-
fixed?: number;
|
|
20
|
-
percentage?: number;
|
|
21
|
-
};
|
|
22
|
-
cryptoAmount: number;
|
|
23
|
-
};
|
|
24
|
-
export type OnRampQuoteParams = {
|
|
25
|
-
fiatCurrency: string;
|
|
26
|
-
cryptoCurrencyID: string;
|
|
27
|
-
amount: number | string;
|
|
28
|
-
paymentMethod?: string;
|
|
29
|
-
region?: string;
|
|
30
|
-
};
|
|
31
|
-
export type OnRampTransactionStatus = {
|
|
32
|
-
transactionId: string;
|
|
33
|
-
transactionHash?: string;
|
|
34
|
-
status: OnRampTransactionStatusType;
|
|
35
|
-
createdAt: string;
|
|
36
|
-
updatedAt: string;
|
|
37
|
-
errorMessage?: string | null;
|
|
38
|
-
};
|
|
39
|
-
export type ExecuteQuoteServer = {
|
|
40
|
-
orderId: string;
|
|
41
|
-
fiatCurrency: string;
|
|
42
|
-
cryptoCurrencyID: string;
|
|
43
|
-
amount: number;
|
|
44
|
-
walletAddress: string;
|
|
45
|
-
paymentMethod: PaymentMethodType;
|
|
46
|
-
region?: string;
|
|
47
|
-
};
|
|
48
|
-
export type ExecuteQuoteClient = Omit<ExecuteQuoteServer, "orderId"> & {
|
|
49
|
-
squidToken?: Token;
|
|
50
|
-
cryptoAmount: number;
|
|
51
|
-
payerEmail: string;
|
|
52
|
-
fees?: {
|
|
53
|
-
fixed: number;
|
|
54
|
-
percentage: number;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
export type FiatCurrency = {
|
|
58
|
-
denomination: string;
|
|
59
|
-
minLimit?: number;
|
|
60
|
-
maxLimit?: number;
|
|
61
|
-
};
|
|
62
|
-
export type FiatCurrencyEnhanced = FiatCurrency & {
|
|
63
|
-
symbol: string;
|
|
64
|
-
};
|
|
65
|
-
export type OnRampCryptoAsset = {
|
|
66
|
-
tokenSymbol: string;
|
|
67
|
-
blockchain: string;
|
|
68
|
-
smartContractAddress?: string;
|
|
69
|
-
};
|
|
70
|
-
export type TokenWithOnRampID = Token & {
|
|
71
|
-
cryptoCurrencyID: string;
|
|
72
|
-
};
|
|
73
|
-
export type CountryWithCode = ICountry & {
|
|
74
|
-
code: string;
|
|
75
|
-
};
|
|
76
|
-
export type FiatToCryptoConfig = {
|
|
77
|
-
supportedPaymentMethods: string[];
|
|
78
|
-
supportedTokens: TokenWithOnRampID[];
|
|
79
|
-
supportedCurrencies: FiatCurrencyEnhanced[];
|
|
80
|
-
supportedCountries: CountryWithCode[];
|
|
81
|
-
};
|
|
82
|
-
export interface FiatToCryptoProvider {
|
|
83
|
-
readonly key?: string;
|
|
84
|
-
readonly label?: string;
|
|
85
|
-
readonly supportedPaymentMethods?: readonly string[];
|
|
86
|
-
getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
87
|
-
getTransactionStatus(transactionId: string, walletAddress?: string): Promise<OnRampTransactionStatus>;
|
|
88
|
-
executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
89
|
-
getConfiguration(squidConfig: {
|
|
90
|
-
chains: ChainData[];
|
|
91
|
-
tokens: Token[];
|
|
92
|
-
}): Promise<FiatToCryptoConfig>;
|
|
93
|
-
mapPaymentMethod?(method: string): string;
|
|
94
|
-
mapConfigResponse?(data: any, squidConfig: {
|
|
95
|
-
chains: ChainData[];
|
|
96
|
-
tokens: Token[];
|
|
97
|
-
}): FiatToCryptoConfig;
|
|
98
|
-
mapQuoteResponse?(data: any, fiatCurrency: string, cryptoCurrencyID: string, originalAmount: number): OnRampQuoteResponse;
|
|
99
|
-
}
|
|
100
|
-
export type FiatTransactionHistory = {
|
|
101
|
-
orderId: string;
|
|
102
|
-
fromFiatCurrency: string;
|
|
103
|
-
fromAmount: string;
|
|
104
|
-
toCryptoCurrency: string;
|
|
105
|
-
toCryptoAmount: string;
|
|
106
|
-
toChainId: string;
|
|
107
|
-
toAddress: string;
|
|
108
|
-
status: OnRampTransactionStatusType;
|
|
109
|
-
timestamp: number;
|
|
110
|
-
transactionHash?: string;
|
|
111
|
-
errorMessage?: string;
|
|
112
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onramp.js","sourceRoot":"","sources":["../../../../src/core/types/onramps/onramp.ts"],"names":[],"mappings":""}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
export interface RevolutQuoteResponse {
|
|
2
|
-
service_fee: {
|
|
3
|
-
amount: number;
|
|
4
|
-
currency: string;
|
|
5
|
-
};
|
|
6
|
-
network_fee: {
|
|
7
|
-
amount: number;
|
|
8
|
-
currency: string;
|
|
9
|
-
};
|
|
10
|
-
crypto: {
|
|
11
|
-
amount: number;
|
|
12
|
-
currencyId: string;
|
|
13
|
-
};
|
|
14
|
-
partner_fee: {
|
|
15
|
-
amount: number;
|
|
16
|
-
currency: string;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export interface RevolutRedirectResponse {
|
|
20
|
-
ramp_redirect_url: string;
|
|
21
|
-
}
|
|
22
|
-
export interface RevolutQuoteParams {
|
|
23
|
-
fiat: string;
|
|
24
|
-
crypto: string;
|
|
25
|
-
amount: string;
|
|
26
|
-
payment?: string;
|
|
27
|
-
region?: string;
|
|
28
|
-
}
|
|
29
|
-
export interface RevolutCryptoAsset {
|
|
30
|
-
id: string;
|
|
31
|
-
currency: string;
|
|
32
|
-
blockchain: string;
|
|
33
|
-
smartContractAddress?: string;
|
|
34
|
-
feePercentages?: number[];
|
|
35
|
-
}
|
|
36
|
-
export interface RevolutConfig {
|
|
37
|
-
version: string;
|
|
38
|
-
countries: string[];
|
|
39
|
-
fiat: {
|
|
40
|
-
currency: string;
|
|
41
|
-
min_limit: number;
|
|
42
|
-
max_limit: number;
|
|
43
|
-
}[];
|
|
44
|
-
crypto: RevolutCryptoAsset[];
|
|
45
|
-
payment_methods: string[];
|
|
46
|
-
}
|
|
47
|
-
export interface RevolutOrderStatus {
|
|
48
|
-
id: string;
|
|
49
|
-
fiat: {
|
|
50
|
-
amount: number;
|
|
51
|
-
currency: string;
|
|
52
|
-
};
|
|
53
|
-
crypto: {
|
|
54
|
-
amount: number;
|
|
55
|
-
currencyId: string;
|
|
56
|
-
};
|
|
57
|
-
fees: {
|
|
58
|
-
ramp_fee: {
|
|
59
|
-
amount: number;
|
|
60
|
-
currency: string;
|
|
61
|
-
};
|
|
62
|
-
partner_fee: {
|
|
63
|
-
amount: number;
|
|
64
|
-
currency: string;
|
|
65
|
-
};
|
|
66
|
-
network_fee: {
|
|
67
|
-
amount: number;
|
|
68
|
-
currency: string;
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
exchange_rate: number;
|
|
72
|
-
payment: string;
|
|
73
|
-
created_at: string;
|
|
74
|
-
updated_at: string;
|
|
75
|
-
status: string;
|
|
76
|
-
wallet: string;
|
|
77
|
-
transaction_hash?: string;
|
|
78
|
-
fees_partner_currency: {
|
|
79
|
-
ramp_fee: {
|
|
80
|
-
amount: number;
|
|
81
|
-
currency: string;
|
|
82
|
-
};
|
|
83
|
-
partner_fee: {
|
|
84
|
-
amount: number;
|
|
85
|
-
currency: string;
|
|
86
|
-
};
|
|
87
|
-
network_fee: {
|
|
88
|
-
amount: number;
|
|
89
|
-
currency: string;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"revolut.js","sourceRoot":"","sources":["../../../../src/core/types/onramps/revolut.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ExecuteFiatQuoteResultClient, ExecuteQuoteClient, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
|
-
interface GetFiatQuoteParams {
|
|
3
|
-
provider: FiatToCryptoProvider;
|
|
4
|
-
fiatCurrency: string;
|
|
5
|
-
cryptoCurrencyID: string;
|
|
6
|
-
amount: number;
|
|
7
|
-
debounceMs?: number;
|
|
8
|
-
region?: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Hook to fetch quote for fiat to crypto conversion
|
|
12
|
-
* @param provider - The fiat-to-crypto provider (e.g., Revolut, Onramper)
|
|
13
|
-
* @param fiatCurrency - The source fiat currency (e.g., "USD")
|
|
14
|
-
* @param cryptoCurrencyID - The target cryptocurrency ID (e.g., "ETH" or "USDC-ETH")
|
|
15
|
-
* @param amount - The amount in fiat to convert
|
|
16
|
-
* @returns Query result containing the quote information
|
|
17
|
-
*/
|
|
18
|
-
export declare const useGetFiatQuote: ({ provider, fiatCurrency, cryptoCurrencyID, amount, debounceMs, region, }: GetFiatQuoteParams) => import("@tanstack/react-query").UseQueryResult<OnRampQuoteResponse, unknown>;
|
|
19
|
-
/**
|
|
20
|
-
* Hook to fetch provider configuration and filter compatible tokens
|
|
21
|
-
* @param provider - The fiat-to-crypto provider
|
|
22
|
-
* @returns Query result containing the provider config and filtered token list
|
|
23
|
-
*/
|
|
24
|
-
export declare const useGetOnRampConfig: (provider: FiatToCryptoProvider) => import("@tanstack/react-query").UseQueryResult<FiatToCryptoConfig, unknown>;
|
|
25
|
-
/**
|
|
26
|
-
* Hook to execute a fiat to crypto quote and handle the order creation
|
|
27
|
-
* @param provider - The fiat-to-crypto provider
|
|
28
|
-
* @param chainData - Optional chain data for address validation
|
|
29
|
-
* @returns Mutation object for executing quotes
|
|
30
|
-
*/
|
|
31
|
-
export declare const useExecuteFiatQuote: (provider: FiatToCryptoProvider) => import("@tanstack/react-query").UseMutationResult<ExecuteFiatQuoteResultClient, unknown, ExecuteQuoteClient, unknown>;
|
|
32
|
-
/**
|
|
33
|
-
* Hook to track the status of a fiat to crypto transaction
|
|
34
|
-
* @param provider - The fiat-to-crypto provider
|
|
35
|
-
* @param transactionId - The transaction ID to track
|
|
36
|
-
* @returns Query result containing the transaction status
|
|
37
|
-
*/
|
|
38
|
-
export declare const useFiatOnRampTxStatus: (provider: FiatToCryptoProvider, transactionId: string, walletAddress: string) => import("@tanstack/react-query").UseQueryResult<OnRampTransactionStatus | undefined, unknown>;
|
|
39
|
-
/**
|
|
40
|
-
* Hook to track all fiat transactions and their status
|
|
41
|
-
* @returns Array of transactions with their latest status
|
|
42
|
-
*/
|
|
43
|
-
export declare const useFiatTransactions: (provider: FiatToCryptoProvider) => {
|
|
44
|
-
transactions: import("../../core/types/onramps/onramp").FiatTransactionHistory[];
|
|
45
|
-
isLoading: boolean;
|
|
46
|
-
isError: boolean;
|
|
47
|
-
};
|
|
48
|
-
export {};
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { useMutation, useQueries, useQuery } from "@tanstack/react-query";
|
|
2
|
-
import { useMemo } from "react";
|
|
3
|
-
import { keys } from "../../core/queries/queries-keys";
|
|
4
|
-
import { FiatToCryptoService } from "../../services/internal/fiatToCryptoService";
|
|
5
|
-
import { isWalletAddressValid } from "../../services/internal/walletService";
|
|
6
|
-
import { useSquidChains } from "../chains/useSquidChains";
|
|
7
|
-
import { useFiatTransactionStore } from "../store/useFiatTransactionStore";
|
|
8
|
-
import { useSquidTokens } from "../tokens/useSquidTokens";
|
|
9
|
-
import { useDebouncedValue } from "../utils/useUtils";
|
|
10
|
-
const TX_STATUS_CONSTANTS = {
|
|
11
|
-
RETRY_COUNT: 10,
|
|
12
|
-
RETRY_DELAY: 60_000,
|
|
13
|
-
REFETCH_INTERVAL: 30_000, // Check every 30 seconds
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Hook to fetch quote for fiat to crypto conversion
|
|
17
|
-
* @param provider - The fiat-to-crypto provider (e.g., Revolut, Onramper)
|
|
18
|
-
* @param fiatCurrency - The source fiat currency (e.g., "USD")
|
|
19
|
-
* @param cryptoCurrencyID - The target cryptocurrency ID (e.g., "ETH" or "USDC-ETH")
|
|
20
|
-
* @param amount - The amount in fiat to convert
|
|
21
|
-
* @returns Query result containing the quote information
|
|
22
|
-
*/
|
|
23
|
-
export const useGetFiatQuote = ({ provider, fiatCurrency, cryptoCurrencyID, amount, debounceMs = 500, region, }) => {
|
|
24
|
-
const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
|
|
25
|
-
const debouncedAmount = useDebouncedValue(amount, debounceMs);
|
|
26
|
-
return useQuery({
|
|
27
|
-
queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID, debouncedAmount, region),
|
|
28
|
-
queryFn: () => {
|
|
29
|
-
console.log(`[useGetFiatQuote] Fetching quote for ${debouncedAmount} ${fiatCurrency} -> ${cryptoCurrencyID}`);
|
|
30
|
-
return service.getQuote(fiatCurrency, cryptoCurrencyID, debouncedAmount, undefined, region);
|
|
31
|
-
},
|
|
32
|
-
enabled: !!fiatCurrency && !!cryptoCurrencyID && debouncedAmount > 0,
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Hook to fetch provider configuration and filter compatible tokens
|
|
37
|
-
* @param provider - The fiat-to-crypto provider
|
|
38
|
-
* @returns Query result containing the provider config and filtered token list
|
|
39
|
-
*/
|
|
40
|
-
export const useGetOnRampConfig = (provider) => {
|
|
41
|
-
const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
|
|
42
|
-
const { chains } = useSquidChains();
|
|
43
|
-
const { tokens } = useSquidTokens();
|
|
44
|
-
return useQuery({
|
|
45
|
-
queryKey: keys().fiatToCryptoConfig(provider.key),
|
|
46
|
-
queryFn: () => service.getConfiguration({
|
|
47
|
-
chains,
|
|
48
|
-
tokens,
|
|
49
|
-
}),
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Hook to execute a fiat to crypto quote and handle the order creation
|
|
54
|
-
* @param provider - The fiat-to-crypto provider
|
|
55
|
-
* @param chainData - Optional chain data for address validation
|
|
56
|
-
* @returns Mutation object for executing quotes
|
|
57
|
-
*/
|
|
58
|
-
export const useExecuteFiatQuote = (provider) => {
|
|
59
|
-
const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
|
|
60
|
-
const persistFiatTransaction = useFiatTransactionStore((state) => state.persistTransaction);
|
|
61
|
-
const { findChain } = useSquidChains();
|
|
62
|
-
return useMutation({
|
|
63
|
-
mutationFn: async (executeQuoteRequest) => {
|
|
64
|
-
const chain = findChain(executeQuoteRequest.squidToken?.chainId);
|
|
65
|
-
if (!chain) {
|
|
66
|
-
throw new Error("Chain not found");
|
|
67
|
-
}
|
|
68
|
-
if (!isWalletAddressValid(chain, executeQuoteRequest.walletAddress)) {
|
|
69
|
-
throw new Error("Invalid wallet address for selected network");
|
|
70
|
-
}
|
|
71
|
-
const executeQuoteResult = await service.executeQuote(executeQuoteRequest);
|
|
72
|
-
return {
|
|
73
|
-
...executeQuoteResult,
|
|
74
|
-
toChain: chain,
|
|
75
|
-
executeQuoteRequest,
|
|
76
|
-
};
|
|
77
|
-
},
|
|
78
|
-
onSuccess: (result) => {
|
|
79
|
-
persistFiatTransaction(result);
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* Hook to track the status of a fiat to crypto transaction
|
|
85
|
-
* @param provider - The fiat-to-crypto provider
|
|
86
|
-
* @param transactionId - The transaction ID to track
|
|
87
|
-
* @returns Query result containing the transaction status
|
|
88
|
-
*/
|
|
89
|
-
export const useFiatOnRampTxStatus = (provider, transactionId, walletAddress) => {
|
|
90
|
-
const service = useMemo(() => new FiatToCryptoService(provider), [provider]);
|
|
91
|
-
const updateTransactionStatus = useFiatTransactionStore((state) => state.updateTransactionStatus);
|
|
92
|
-
return useQuery({
|
|
93
|
-
queryKey: keys().fiatToCryptoStatus(transactionId),
|
|
94
|
-
queryFn: () => service.getTransactionStatus(transactionId, walletAddress),
|
|
95
|
-
enabled: !!transactionId && !!walletAddress,
|
|
96
|
-
retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
97
|
-
retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
98
|
-
refetchInterval: (data) => {
|
|
99
|
-
if (data?.status === "completed" || data?.status === "failed") {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
103
|
-
},
|
|
104
|
-
onError: () => {
|
|
105
|
-
updateTransactionStatus(transactionId, "failed", undefined);
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
/**
|
|
110
|
-
* Hook to track all fiat transactions and their status
|
|
111
|
-
* @returns Array of transactions with their latest status
|
|
112
|
-
*/
|
|
113
|
-
export const useFiatTransactions = (provider) => {
|
|
114
|
-
const transactions = useFiatTransactionStore((state) => state.transactions);
|
|
115
|
-
const updateTransactionStatus = useFiatTransactionStore((state) => state.updateTransactionStatus);
|
|
116
|
-
const queries = useQueries({
|
|
117
|
-
queries: transactions
|
|
118
|
-
.filter((tx) => !["completed", "failed"].includes(tx.status))
|
|
119
|
-
.map((tx) => ({
|
|
120
|
-
queryKey: keys().fiatToCryptoStatus(tx.orderId),
|
|
121
|
-
queryFn: () => provider.getTransactionStatus(tx.orderId, tx.toAddress),
|
|
122
|
-
retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
|
|
123
|
-
retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
|
|
124
|
-
refetchInterval: (data) => {
|
|
125
|
-
if (data?.status === "completed" || data?.status === "failed") {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
|
|
129
|
-
},
|
|
130
|
-
onSuccess: (data) => {
|
|
131
|
-
updateTransactionStatus(tx.orderId, data.status, data.transactionHash);
|
|
132
|
-
},
|
|
133
|
-
onError: () => {
|
|
134
|
-
updateTransactionStatus(tx.orderId, "failed", undefined);
|
|
135
|
-
},
|
|
136
|
-
enabled: true,
|
|
137
|
-
})),
|
|
138
|
-
});
|
|
139
|
-
return {
|
|
140
|
-
transactions,
|
|
141
|
-
isLoading: queries.some((q) => q.isLoading),
|
|
142
|
-
isError: queries.some((q) => q.isError),
|
|
143
|
-
};
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=useFiatToCrypto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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 {};
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
-
toCryptoCurrency: executeQuoteRequest.cryptoCurrencyID,
|
|
15
|
-
toCryptoAmount: executeQuoteRequest.cryptoAmount.toString(),
|
|
16
|
-
toChainId: toChain?.chainId ?? "",
|
|
17
|
-
toAddress: executeQuoteRequest.walletAddress,
|
|
18
|
-
status: "awaiting_payment",
|
|
19
|
-
timestamp: Date.now(),
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
};
|
|
23
|
-
}),
|
|
24
|
-
updateTransactionStatus: (orderId, status, transactionHash) => set((state) => ({
|
|
25
|
-
transactions: state.transactions.map((tx) => tx.orderId === orderId ? { ...tx, status, transactionHash } : tx),
|
|
26
|
-
})),
|
|
27
|
-
removeTransaction: (orderId) => set((state) => ({
|
|
28
|
-
transactions: state.transactions.filter((tx) => tx.orderId !== orderId),
|
|
29
|
-
})),
|
|
30
|
-
removeAllTransactions: () => set(() => ({
|
|
31
|
-
transactions: [],
|
|
32
|
-
})),
|
|
33
|
-
}), {
|
|
34
|
-
name: "squid.fiat.transactions.store",
|
|
35
|
-
}));
|
|
36
|
-
//# sourceMappingURL=useFiatTransactionStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB;oBACtD,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAllowance.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useAllowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,YAAY,GAAG,CAAC,OAA2B,EAAkB,EAAE;IACnE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IACD,OAAO,OAAkB,CAAC;AAC5B,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAClB,OAAO,GACc,EAAE,EAAE;IACzB,MAAM,kBAAkB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,aAAa,GACjB,kBAAkB,EAAE,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,CAAC;IAE5E,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,kBAAkB,IAAI,SAAS;QACxC,YAAY,EAAE,WAAW;QACzB,OAAO;QACP,IAAI,EACF,kBAAkB,IAAI,oBAAoB;YACxC,CAAC,CAAC,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;YAC5C,CAAC,CAAC,SAAS;QACf,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CACd,kBAAkB;gBAChB,kBAAkB;gBAClB,oBAAoB;gBACpB,CAAC,aAAa,CACjB;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,IAAI,CAAC,oBAAoB,EAAE;QACvE,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;SAC/C,CAAC;KACH;IAED,IAAI,aAAa,EAAE;QACjB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;KACpD;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,cAAc,IAAI,MAAM,CAAC;IAE9C,OAAO;QACL,KAAK,EAAE,MAAM;QACb,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a debounced value that only updates after the specified delay
|
|
3
|
-
* @param value - The value to debounce
|
|
4
|
-
* @param delay - Delay in milliseconds
|
|
5
|
-
* @returns The debounced value
|
|
6
|
-
*/
|
|
7
|
-
export declare function useDebouncedValue<T>(value: T, delay: number): T;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Returns a debounced value that only updates after the specified delay
|
|
4
|
-
* @param value - The value to debounce
|
|
5
|
-
* @param delay - Delay in milliseconds
|
|
6
|
-
* @returns The debounced value
|
|
7
|
-
*/
|
|
8
|
-
export function useDebouncedValue(value, delay) {
|
|
9
|
-
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
const timeoutId = setTimeout(() => {
|
|
12
|
-
setDebouncedValue(value);
|
|
13
|
-
}, delay);
|
|
14
|
-
return () => {
|
|
15
|
-
clearTimeout(timeoutId);
|
|
16
|
-
};
|
|
17
|
-
}, [value, delay]);
|
|
18
|
-
return debouncedValue;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=useUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUtils.js","sourceRoot":"","sources":["../../../src/hooks/utils/useUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,KAAQ,EAAE,KAAa;IAC1D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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,14 +0,0 @@
|
|
|
1
|
-
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
|
-
export declare class OnramperAdapter implements FiatToCryptoProvider {
|
|
3
|
-
readonly key = "onramper";
|
|
4
|
-
readonly label = "Onramper";
|
|
5
|
-
readonly supportedPaymentMethods: readonly ["credit_card", "bank_transfer"];
|
|
6
|
-
private readonly baseUrl;
|
|
7
|
-
private readonly apiKey;
|
|
8
|
-
private getHeaders;
|
|
9
|
-
getQuote(fiatCurrency: string, cryptoCurrency: string, amount: number): Promise<OnRampQuoteResponse>;
|
|
10
|
-
getTransactionStatus(transactionId: string): Promise<OnRampTransactionStatus>;
|
|
11
|
-
executeQuote(executeQuoteRequest: ExecuteQuoteClient): Promise<ExecuteFiatQuoteResult>;
|
|
12
|
-
private getCryptoNetwork;
|
|
13
|
-
getConfiguration(): Promise<FiatToCryptoConfig>;
|
|
14
|
-
}
|