@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.
Files changed (93) hide show
  1. package/dist/core/abis/ics20.json +128 -0
  2. package/dist/core/externalLinks.d.ts +1 -1
  3. package/dist/core/externalLinks.js +1 -1
  4. package/dist/core/externalLinks.js.map +1 -1
  5. package/dist/core/queries/queries-keys.d.ts +1 -7
  6. package/dist/core/queries/queries-keys.js +0 -24
  7. package/dist/core/queries/queries-keys.js.map +1 -1
  8. package/dist/core/types/error.d.ts +0 -5
  9. package/dist/core/types/error.js.map +1 -1
  10. package/dist/core/types/index.d.ts +0 -1
  11. package/dist/core/wagmiConfig.js +27 -16
  12. package/dist/core/wagmiConfig.js.map +1 -1
  13. package/dist/hooks/index.d.ts +0 -1
  14. package/dist/hooks/index.js +0 -1
  15. package/dist/hooks/index.js.map +1 -1
  16. package/dist/hooks/swap/useSwap.d.ts +0 -1
  17. package/dist/hooks/swap/useSwap.js +0 -2
  18. package/dist/hooks/swap/useSwap.js.map +1 -1
  19. package/dist/hooks/transaction/useApproval.js +74 -20
  20. package/dist/hooks/transaction/useApproval.js.map +1 -1
  21. package/dist/hooks/transaction/{useAllowance.d.ts → useErc20Allowance.d.ts} +8 -7
  22. package/dist/hooks/transaction/{useAllowance.js → useErc20Allowance.js} +12 -16
  23. package/dist/hooks/transaction/useErc20Allowance.js.map +1 -0
  24. package/dist/hooks/transaction/useExecuteTransaction.js +5 -1
  25. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  26. package/dist/hooks/transaction/useGetRoute.js +27 -10
  27. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  28. package/dist/hooks/transaction/useIcs20Allowance.d.ts +88 -0
  29. package/dist/hooks/transaction/useIcs20Allowance.js +40 -0
  30. package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -0
  31. package/dist/hooks/user/useHistory.js +0 -1
  32. package/dist/hooks/user/useHistory.js.map +1 -1
  33. package/dist/hooks/user/useUserParams.d.ts +0 -1
  34. package/dist/hooks/user/useUserParams.js +1 -2
  35. package/dist/hooks/user/useUserParams.js.map +1 -1
  36. package/dist/hooks/wallet/useEns.d.ts +1 -0
  37. package/dist/hooks/wallet/useEns.js +13 -1
  38. package/dist/hooks/wallet/useEns.js.map +1 -1
  39. package/dist/hooks/wallet/useMultiChainWallet.d.ts +2 -13
  40. package/dist/hooks/wallet/useMultiChainWallet.js +2 -2
  41. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/services/index.d.ts +1 -1
  46. package/dist/services/index.js +1 -1
  47. package/dist/services/index.js.map +1 -1
  48. package/dist/services/internal/assetsService.d.ts +10 -3
  49. package/dist/services/internal/assetsService.js +96 -14
  50. package/dist/services/internal/assetsService.js.map +1 -1
  51. package/dist/services/internal/evmService.d.ts +2 -0
  52. package/dist/services/internal/evmService.js +6 -0
  53. package/dist/services/internal/evmService.js.map +1 -1
  54. package/dist/services/internal/walletService.d.ts +0 -2
  55. package/dist/services/internal/walletService.js +1 -25
  56. package/dist/services/internal/walletService.js.map +1 -1
  57. package/dist/tests/assetsService.test.js +26 -13
  58. package/dist/tests/assetsService.test.js.map +1 -1
  59. package/package.json +3 -5
  60. package/dist/core/types/onramps/index.d.ts +0 -1
  61. package/dist/core/types/onramps/index.js +0 -2
  62. package/dist/core/types/onramps/index.js.map +0 -1
  63. package/dist/core/types/onramps/onramp.d.ts +0 -112
  64. package/dist/core/types/onramps/onramp.js +0 -2
  65. package/dist/core/types/onramps/onramp.js.map +0 -1
  66. package/dist/core/types/onramps/revolut.d.ts +0 -92
  67. package/dist/core/types/onramps/revolut.js +0 -2
  68. package/dist/core/types/onramps/revolut.js.map +0 -1
  69. package/dist/hooks/onramp/useFiatToCrypto.d.ts +0 -48
  70. package/dist/hooks/onramp/useFiatToCrypto.js +0 -145
  71. package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
  72. package/dist/hooks/store/useFiatTransactionStore.d.ts +0 -20
  73. package/dist/hooks/store/useFiatTransactionStore.js +0 -36
  74. package/dist/hooks/store/useFiatTransactionStore.js.map +0 -1
  75. package/dist/hooks/transaction/useAllowance.js.map +0 -1
  76. package/dist/hooks/utils/useUtils.d.ts +0 -7
  77. package/dist/hooks/utils/useUtils.js +0 -20
  78. package/dist/hooks/utils/useUtils.js.map +0 -1
  79. package/dist/services/external/index.d.ts +0 -3
  80. package/dist/services/external/index.js +0 -4
  81. package/dist/services/external/index.js.map +0 -1
  82. package/dist/services/external/onramperClientAdapter.d.ts +0 -14
  83. package/dist/services/external/onramperClientAdapter.js +0 -136
  84. package/dist/services/external/onramperClientAdapter.js.map +0 -1
  85. package/dist/services/external/revolutClientAdapter.d.ts +0 -31
  86. package/dist/services/external/revolutClientAdapter.js +0 -228
  87. package/dist/services/external/revolutClientAdapter.js.map +0 -1
  88. package/dist/services/internal/fiatToCryptoService.d.ts +0 -21
  89. package/dist/services/internal/fiatToCryptoService.js +0 -41
  90. package/dist/services/internal/fiatToCryptoService.js.map +0 -1
  91. package/dist/tests/revolutClientAdapter.test.d.ts +0 -1
  92. package/dist/tests/revolutClientAdapter.test.js +0 -181
  93. 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=onramp.js.map
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=revolut.js.map
@@ -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,3 +0,0 @@
1
- export { OnramperAdapter } from "./onramperClientAdapter";
2
- export { RevolutClientAdapter } from "./revolutClientAdapter";
3
- export { EnsService } from "./ens";
@@ -1,4 +0,0 @@
1
- export { OnramperAdapter } from "./onramperClientAdapter";
2
- export { RevolutClientAdapter } from "./revolutClientAdapter";
3
- export { EnsService } from "./ens";
4
- //# sourceMappingURL=index.js.map
@@ -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
- }