@0xsquid/react-hooks 6.4.1-beta.1 → 6.4.1-beta.3
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/constants.d.ts +16 -0
- package/dist/core/constants.js +16 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +3 -1
- package/dist/core/queries/queries-keys.js +2 -0
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +1 -0
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/event.d.ts +24 -1
- package/dist/hooks/client/useClient.d.ts +1 -0
- package/dist/hooks/client/useClient.js +16 -1
- package/dist/hooks/client/useClient.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +48 -21
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.js +35 -7
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/services/external/revolutClientAdapter.js +4 -4
- package/dist/services/external/revolutClientAdapter.js.map +1 -1
- package/dist/services/internal/assetsService.js +1 -1
- package/dist/services/internal/errorService.d.ts +19 -21
- package/dist/services/internal/errorService.js +105 -77
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +39 -1
- package/dist/services/internal/eventService.js +76 -0
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/fiatToCryptoService.d.ts +6 -0
- package/dist/services/internal/fiatToCryptoService.js +15 -1
- package/dist/services/internal/fiatToCryptoService.js.map +1 -1
- package/dist/services/internal/numberService.d.ts +22 -3
- package/dist/services/internal/numberService.js +22 -11
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/transactionService.js +6 -3
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.js +28 -3
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/numberService.test.js +27 -5
- package/dist/tests/numberService.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetRoute.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useGetRoute.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useGetRoute.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useGetRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import axios from "axios";
|
|
2
2
|
import { v4 as uuidv4 } from "uuid";
|
|
3
|
-
import { nativeEvmTokenAddress } from "../../core/constants";
|
|
3
|
+
import { BETA_INTERNAL_API_BASE_URL, DEFAULT_COUNTRY_CODE, nativeEvmTokenAddress, } from "../../core/constants";
|
|
4
4
|
import { BaseFiatToCryptoAdapter } from "./baseAdapter";
|
|
5
5
|
export class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
6
6
|
key = "revolut";
|
|
@@ -11,7 +11,7 @@ export class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
|
11
11
|
"apple-pay",
|
|
12
12
|
"google-pay",
|
|
13
13
|
];
|
|
14
|
-
baseUrl =
|
|
14
|
+
baseUrl = `${BETA_INTERNAL_API_BASE_URL}/fiat-to-crypto/revolut`;
|
|
15
15
|
findMatchingChain(revolutBlockchain, chains) {
|
|
16
16
|
return chains.find((c) => c.networkIdentifier.toUpperCase() === revolutBlockchain);
|
|
17
17
|
}
|
|
@@ -113,7 +113,7 @@ export class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
|
113
113
|
const percentageFee = Number(((totalFees / amount) * 100).toFixed(2));
|
|
114
114
|
return { totalFees, percentageFee };
|
|
115
115
|
}
|
|
116
|
-
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region =
|
|
116
|
+
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region = DEFAULT_COUNTRY_CODE) {
|
|
117
117
|
try {
|
|
118
118
|
const { data } = await axios.get(`${this.baseUrl}/quote`, {
|
|
119
119
|
params: {
|
|
@@ -169,7 +169,7 @@ export class RevolutClientAdapter extends BaseFiatToCryptoAdapter {
|
|
|
169
169
|
amount: params.amount,
|
|
170
170
|
walletAddress: params.walletAddress,
|
|
171
171
|
paymentMethod: this.mapPaymentMethod(params.paymentMethod),
|
|
172
|
-
region: params.region ||
|
|
172
|
+
region: params.region || DEFAULT_COUNTRY_CODE,
|
|
173
173
|
// partnerRedirectUrl: "",
|
|
174
174
|
};
|
|
175
175
|
const { data } = await axios.post(`${this.baseUrl}/execute`, serverParams);
|
|
@@ -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,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"revolutClientAdapter.js","sourceRoot":"","sources":["../../../src/services/external/revolutClientAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -490,7 +490,7 @@ export function initializeSquidWithAssetsColors(squid, assetsColors) {
|
|
|
490
490
|
// so here we use token.address as fallback,
|
|
491
491
|
// to avoid sending the parsed address (evmosAddressToEvmAddress(token.address))
|
|
492
492
|
// TODO: this will be fixed in the backend
|
|
493
|
-
token.originalAddress
|
|
493
|
+
token.originalAddress || token.address
|
|
494
494
|
: token.originalAddress,
|
|
495
495
|
type: isEvmosToken ? ChainType.EVM : token.type,
|
|
496
496
|
bgColor: assetsColors.tokens[getTokenAssetsKey(token)]?.bgColor,
|
|
@@ -1,30 +1,28 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { RouteResponse } from "@0xsquid/squid-types";
|
|
2
|
+
import type { SquidRouteError, SquidStatusError, TransactionErrorWithMessage } from "../../core/types/error";
|
|
3
|
+
import type { TransactionParams } from "../../core/types/transaction";
|
|
2
4
|
export declare const transactionErrorCode: Record<string, TransactionErrorWithMessage>;
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @param error
|
|
8
|
-
* @returns boolean
|
|
6
|
+
* Converts any transaction error into a standardized TransactionErrorWithMessage format
|
|
7
|
+
* @param error The error to convert
|
|
8
|
+
* @returns A standardized error object
|
|
9
9
|
*/
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const getTransactionError: (error: any) => TransactionErrorWithMessage;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
* @param error
|
|
14
|
-
* @returns boolean
|
|
12
|
+
* Handles dispatching appropriate events based on the error type
|
|
15
13
|
*/
|
|
16
|
-
export declare const
|
|
14
|
+
export declare const handleTransactionErrorEvents: ({ error, transactionParams, walletProviderName, squidRoute, }: {
|
|
15
|
+
error: TransactionErrorWithMessage;
|
|
16
|
+
transactionParams?: TransactionParams | undefined;
|
|
17
|
+
walletProviderName?: string | undefined;
|
|
18
|
+
squidRoute?: {
|
|
19
|
+
estimate: import("@0xsquid/squid-types").Estimate;
|
|
20
|
+
transactionRequest?: import("@0xsquid/squid-types").SquidData | undefined;
|
|
21
|
+
params: import("@0xsquid/squid-types").RouteRequest;
|
|
22
|
+
} | undefined;
|
|
23
|
+
}) => TransactionErrorWithMessage;
|
|
17
24
|
/**
|
|
18
|
-
* Check if the error is
|
|
19
|
-
* Because Typescript supports casting but that's only for compilation time,
|
|
20
|
-
* We need it at runtime since we're getting the error object from the wallet
|
|
21
|
-
* @param error
|
|
22
|
-
* @returns boolean
|
|
25
|
+
* Check if the error is a Squid route error
|
|
23
26
|
*/
|
|
24
27
|
export declare const isSwapRouteError: (error: any) => error is SquidRouteError;
|
|
25
28
|
export declare const isStatusError: (error: any) => error is SquidStatusError;
|
|
26
|
-
/**
|
|
27
|
-
* Tries to parse as SquidRouteError Type & Return the error from Record entries
|
|
28
|
-
* @param error
|
|
29
|
-
* @returns string error message
|
|
30
|
-
*/
|
|
@@ -1,103 +1,152 @@
|
|
|
1
1
|
import { TransactionErrorType } from "../../core/types/error";
|
|
2
|
+
import { WidgetEvents } from "./eventService";
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes different error structures into a consistent format
|
|
5
|
+
* This helps handle different wallet error formats uniformly
|
|
6
|
+
*/
|
|
7
|
+
const normalizeError = (error) => {
|
|
8
|
+
// Handle nested error objects (like Rainbow's error.error structure)
|
|
9
|
+
if (error?.error && typeof error.error === "object") {
|
|
10
|
+
return {
|
|
11
|
+
code: error.error.code,
|
|
12
|
+
message: error.error.message,
|
|
13
|
+
reason: error.error.reason,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
// Handle direct error properties
|
|
17
|
+
return {
|
|
18
|
+
code: error?.code,
|
|
19
|
+
message: error?.message,
|
|
20
|
+
reason: error?.reason,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
2
23
|
export const transactionErrorCode = {
|
|
3
24
|
// Metamask
|
|
4
25
|
ACTION_REJECTED: {
|
|
5
26
|
type: TransactionErrorType.REJECTED_BY_USER,
|
|
27
|
+
internalLabel: "EVM: ACTION_REJECTED",
|
|
6
28
|
message: "Return to the swap page and try again.",
|
|
7
29
|
},
|
|
8
30
|
// Keplr
|
|
9
31
|
"Request rejected": {
|
|
10
32
|
type: TransactionErrorType.REJECTED_BY_USER,
|
|
33
|
+
internalLabel: "Request rejected",
|
|
11
34
|
message: "Return to the swap page and try again.",
|
|
12
35
|
},
|
|
13
36
|
// Phantom Solana
|
|
14
37
|
"User rejected the request.": {
|
|
15
38
|
type: TransactionErrorType.REJECTED_BY_USER,
|
|
39
|
+
internalLabel: "SOL: User rejected the request",
|
|
40
|
+
message: "Return to the swap page and try again.",
|
|
41
|
+
},
|
|
42
|
+
// Gnosis Safe
|
|
43
|
+
"Transaction was rejected": {
|
|
44
|
+
type: TransactionErrorType.REJECTED_BY_USER,
|
|
45
|
+
internalLabel: "GNOSIS: Transaction was rejected",
|
|
16
46
|
message: "Return to the swap page and try again.",
|
|
17
47
|
},
|
|
18
48
|
// Metamask
|
|
19
49
|
4001: {
|
|
20
50
|
type: TransactionErrorType.REJECTED_BY_USER,
|
|
51
|
+
internalLabel: "EVM: REJECTED: CODE 4001",
|
|
52
|
+
message: "Return to the swap page and try again.",
|
|
53
|
+
},
|
|
54
|
+
// Rainbow
|
|
55
|
+
"-32603": {
|
|
56
|
+
type: TransactionErrorType.REJECTED_BY_USER,
|
|
57
|
+
internalLabel: "EVM: REJECTED: CODE -32603",
|
|
21
58
|
message: "Return to the swap page and try again.",
|
|
22
59
|
},
|
|
23
60
|
CALL_EXCEPTION: {
|
|
24
61
|
type: TransactionErrorType.CALL_EXCEPTION,
|
|
62
|
+
internalLabel: "EVM: CALL_EXCEPTION",
|
|
25
63
|
message: "Swap failed on the source chain. Please let us know by submitting a ticket here.",
|
|
26
64
|
},
|
|
27
65
|
UNKNOWN: {
|
|
28
66
|
type: TransactionErrorType.UNKNOWN,
|
|
67
|
+
internalLabel: "UNKNOWN ERROR: Transaction failed",
|
|
29
68
|
message: "The transaction could not be initiated.",
|
|
30
69
|
},
|
|
31
70
|
};
|
|
32
71
|
/**
|
|
33
|
-
*
|
|
34
|
-
* Because Typescript supports casting but that's only for compilation time,
|
|
35
|
-
* We need it at runtime since we're getting the error object from the wallet
|
|
36
|
-
* @param error
|
|
37
|
-
* @returns boolean
|
|
72
|
+
* Detects if an error is a user rejection based on normalized error structure
|
|
38
73
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
catch {
|
|
74
|
+
const isUserRejectionError = (normalizedError) => {
|
|
75
|
+
const { code, message } = normalizedError;
|
|
76
|
+
// Check if the error matches any known rejection patterns from transactionErrorCode
|
|
77
|
+
return Object.entries(transactionErrorCode).some(([key, value]) => {
|
|
78
|
+
if (value.type !== TransactionErrorType.REJECTED_BY_USER)
|
|
79
|
+
return false;
|
|
80
|
+
// Check if code matches (converting to string for comparison)
|
|
81
|
+
if (code != undefined && key === code.toString())
|
|
82
|
+
return true;
|
|
83
|
+
// Check if message matches
|
|
84
|
+
if (message && key === message)
|
|
85
|
+
return true;
|
|
52
86
|
return false;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
const isRainbowWalletTxRejectedError = (error) => {
|
|
56
|
-
try {
|
|
57
|
-
return error.error.code === -32603;
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
87
|
+
});
|
|
62
88
|
};
|
|
63
89
|
/**
|
|
64
|
-
*
|
|
65
|
-
* @param error
|
|
66
|
-
* @returns
|
|
90
|
+
* Converts any transaction error into a standardized TransactionErrorWithMessage format
|
|
91
|
+
* @param error The error to convert
|
|
92
|
+
* @returns A standardized error object
|
|
67
93
|
*/
|
|
68
94
|
export const getTransactionError = (error) => {
|
|
69
|
-
|
|
70
|
-
|
|
95
|
+
const normalizedError = normalizeError(error);
|
|
96
|
+
if (isUserRejectionError(normalizedError)) {
|
|
97
|
+
// Return the specific rejection error if we can find it
|
|
98
|
+
if (normalizedError.code) {
|
|
99
|
+
const codeError = transactionErrorCode[normalizedError.code.toString()];
|
|
100
|
+
if (codeError?.type === TransactionErrorType.REJECTED_BY_USER)
|
|
101
|
+
return codeError;
|
|
102
|
+
}
|
|
103
|
+
if (normalizedError.message) {
|
|
104
|
+
const messageError = transactionErrorCode[normalizedError.message];
|
|
105
|
+
if (messageError?.type === TransactionErrorType.REJECTED_BY_USER)
|
|
106
|
+
return messageError;
|
|
107
|
+
}
|
|
71
108
|
return transactionErrorCode.ACTION_REJECTED;
|
|
72
109
|
}
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
110
|
+
if (normalizedError.code) {
|
|
111
|
+
return (transactionErrorCode[normalizedError.code.toString()] ||
|
|
112
|
+
transactionErrorCode.UNKNOWN);
|
|
113
|
+
}
|
|
114
|
+
if (normalizedError.message) {
|
|
115
|
+
return (transactionErrorCode[normalizedError.message] ||
|
|
116
|
+
transactionErrorCode.UNKNOWN);
|
|
80
117
|
}
|
|
81
118
|
return transactionErrorCode.UNKNOWN;
|
|
82
119
|
};
|
|
83
|
-
// --------------------
|
|
84
|
-
// SQUID ROUTE ERRORS
|
|
85
|
-
// --------------------
|
|
86
|
-
// TODO: Components will be handled outside hooks lib
|
|
87
|
-
// const squidRouteErrorMapping: Record<
|
|
88
|
-
// SquidRouteErrorType,
|
|
89
|
-
// string | JSX.Element
|
|
90
|
-
// > = {
|
|
91
|
-
// Unknown: RouteDefaultErrorMsg(),
|
|
92
|
-
// UnknownError: RouteDefaultErrorMsg(),
|
|
93
|
-
// SquidServiceError: RouteDefaultErrorMsg(),
|
|
94
|
-
// };
|
|
95
120
|
/**
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
121
|
+
* Handles dispatching appropriate events based on the error type
|
|
122
|
+
*/
|
|
123
|
+
export const handleTransactionErrorEvents = ({ error, transactionParams, walletProviderName, squidRoute, }) => {
|
|
124
|
+
// Handle wallet rejection events
|
|
125
|
+
if (error.type === TransactionErrorType.REJECTED_BY_USER) {
|
|
126
|
+
// At this point, we don't have transactionParams so we should use the squidRoute
|
|
127
|
+
WidgetEvents.getInstance().dispatchWalletReject({
|
|
128
|
+
chainId: squidRoute?.params.fromChain || "",
|
|
129
|
+
provider: walletProviderName || "",
|
|
130
|
+
reason: error.internalLabel,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
else if (error.type === TransactionErrorType.CALL_EXCEPTION) {
|
|
134
|
+
// Handle on-chain transaction errors
|
|
135
|
+
WidgetEvents.getInstance().dispatchOnchainReject({
|
|
136
|
+
walletAddress: transactionParams?.fromAddress || "",
|
|
137
|
+
chainId: transactionParams?.fromChain?.chainId || "",
|
|
138
|
+
reason: error.internalLabel,
|
|
139
|
+
txHash: transactionParams?.transactionId,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Always dispatch the swap route execution error
|
|
143
|
+
WidgetEvents.getInstance().dispatchSwapRouteExecutionError({
|
|
144
|
+
error,
|
|
145
|
+
});
|
|
146
|
+
return error;
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Check if the error is a Squid route error
|
|
101
150
|
*/
|
|
102
151
|
export const isSwapRouteError = (error) => {
|
|
103
152
|
return (error &&
|
|
@@ -106,25 +155,4 @@ export const isSwapRouteError = (error) => {
|
|
|
106
155
|
export const isStatusError = (error) => {
|
|
107
156
|
return error && typeof error.errorType === "string";
|
|
108
157
|
};
|
|
109
|
-
/**
|
|
110
|
-
* Tries to parse as SquidRouteError Type & Return the error from Record entries
|
|
111
|
-
* @param error
|
|
112
|
-
* @returns string error message
|
|
113
|
-
*/
|
|
114
|
-
// TODO: move this outside hooks
|
|
115
|
-
// export const getSquidRouteErrorMessage = (error: any): string | JSX.Element => {
|
|
116
|
-
// if (isSwapRouteError(error)) {
|
|
117
|
-
// // Try to get the error message from the error code
|
|
118
|
-
// const codeMsg =
|
|
119
|
-
// error.code || error.errorType
|
|
120
|
-
// ? squidRouteErrorMapping[
|
|
121
|
-
// (error.code ?? error.errorType) as SquidRouteErrorType
|
|
122
|
-
// ]
|
|
123
|
-
// : undefined;
|
|
124
|
-
// if (codeMsg) return codeMsg;
|
|
125
|
-
// // If there is no error code, try to get the error message from backend
|
|
126
|
-
// if (error.message) return error.message;
|
|
127
|
-
// }
|
|
128
|
-
// return squidRouteErrorMapping.Unknown;
|
|
129
|
-
// };
|
|
130
158
|
//# sourceMappingURL=errorService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorService.js","sourceRoot":"","sources":["../../../src/services/internal/errorService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE,WAAW;IACX,eAAe,EAAE;QACf,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,QAAQ;IACR,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,iBAAiB;IACjB,4BAA4B,EAAE;QAC5B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,WAAW;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,oBAAoB,CAAC,cAAc;QACzC,OAAO,EACL,kFAAkF;KACrF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,oBAAoB,CAAC,OAAO;QAClC,OAAO,EAAE,yCAAyC;KACnD;CACF,CAAC;AAEJ
|
|
1
|
+
{"version":3,"file":"errorService.js","sourceRoot":"","sources":["../../../src/services/internal/errorService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,KAAU,EAAmB,EAAE;IACrD,qEAAqE;IACrE,IAAI,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;QACnD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;YAC5B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;SAC3B,CAAC;KACH;IAED,iCAAiC;IACjC,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,MAAM,EAAE,KAAK,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE,WAAW;IACX,eAAe,EAAE;QACf,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,wCAAwC;KAClD;IACD,QAAQ;IACR,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,kBAAkB;QACjC,OAAO,EAAE,wCAAwC;KAClD;IACD,iBAAiB;IACjB,4BAA4B,EAAE;QAC5B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,gCAAgC;QAC/C,OAAO,EAAE,wCAAwC;KAClD;IACD,cAAc;IACd,0BAA0B,EAAE;QAC1B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,kCAAkC;QACjD,OAAO,EAAE,wCAAwC;KAClD;IACD,WAAW;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,0BAA0B;QACzC,OAAO,EAAE,wCAAwC;KAClD;IACD,UAAU;IACV,QAAQ,EAAE;QACR,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;QAC3C,aAAa,EAAE,4BAA4B;QAC3C,OAAO,EAAE,wCAAwC;KAClD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,oBAAoB,CAAC,cAAc;QACzC,aAAa,EAAE,qBAAqB;QACpC,OAAO,EACL,kFAAkF;KACrF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,oBAAoB,CAAC,OAAO;QAClC,aAAa,EAAE,mCAAmC;QAClD,OAAO,EAAE,yCAAyC;KACnD;CACF,CAAC;AAEJ;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,eAAgC,EAAW,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAE1C,oFAAoF;IACpF,OAAO,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAEvE,8DAA8D;QAC9D,IAAI,IAAI,IAAI,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAC;QAE9D,2BAA2B;QAC3B,IAAI,OAAO,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAE5C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAU,EACmB,EAAE;IAC/B,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,oBAAoB,CAAC,eAAe,CAAC,EAAE;QACzC,wDAAwD;QACxD,IAAI,eAAe,CAAC,IAAI,EAAE;YACxB,MAAM,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,IAAI,SAAS,EAAE,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;gBAC3D,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,eAAe,CAAC,OAAO,EAAE;YAC3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,IAAI,KAAK,oBAAoB,CAAC,gBAAgB;gBAC9D,OAAO,YAAY,CAAC;SACvB;QACD,OAAO,oBAAoB,CAAC,eAAe,CAAC;KAC7C;IAED,IAAI,eAAe,CAAC,IAAI,EAAE;QACxB,OAAO,CACL,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrD,oBAAoB,CAAC,OAAO,CAC7B,CAAC;KACH;IAED,IAAI,eAAe,CAAC,OAAO,EAAE;QAC3B,OAAO,CACL,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC;YAC7C,oBAAoB,CAAC,OAAO,CAC7B,CAAC;KACH;IAED,OAAO,oBAAoB,CAAC,OAAO,CAAC;AACtC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,GAMX,EAA+B,EAAE;IAChC,iCAAiC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,gBAAgB,EAAE;QACxD,iFAAiF;QACjF,YAAY,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAC;YAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YAC3C,QAAQ,EAAE,kBAAkB,IAAI,EAAE;YAClC,MAAM,EAAE,KAAK,CAAC,aAAa;SAC5B,CAAC,CAAC;KACJ;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,cAAc,EAAE;QAC7D,qCAAqC;QACrC,YAAY,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC;YAC/C,aAAa,EAAE,iBAAiB,EAAE,WAAW,IAAI,EAAE;YACnD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,IAAI,EAAE;YACpD,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,MAAM,EAAE,iBAAiB,EAAE,aAAa;SACzC,CAAC,CAAC;KACJ;IAED,iDAAiD;IACjD,YAAY,CAAC,WAAW,EAAE,CAAC,+BAA+B,CAAC;QACzD,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAA4B,EAAE;IACvE,OAAO,CACL,KAAK;QACL,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAU,EAA6B,EAAE;IACrE,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import type { RouteResponse } from "@0xsquid/squid-types";
|
|
1
|
+
import type { RouteRequest, RouteResponse, Token } from "@0xsquid/squid-types";
|
|
2
2
|
import type { EventListenerFunction, WidgetEventMap } from "../../core/types/event";
|
|
3
|
+
type FindTokenMethod = (address?: string, chainId?: string) => Token | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a hash string from quote request parameters to track changes
|
|
6
|
+
*/
|
|
7
|
+
export declare const createQuoteRequestParamsHash: (params: RouteRequest) => string;
|
|
3
8
|
export declare class WidgetEvents extends EventTarget {
|
|
4
9
|
private static instance;
|
|
5
10
|
private constructor();
|
|
@@ -59,4 +64,37 @@ export declare class WidgetEvents extends EventTarget {
|
|
|
59
64
|
* @param data
|
|
60
65
|
*/
|
|
61
66
|
dispatchSwapRouteExecutionError(data: WidgetEventMap["swapRouteExecutionError"]): void;
|
|
67
|
+
/**
|
|
68
|
+
* Dispatch event when requesting a quote for swap
|
|
69
|
+
* @param data Quote request parameters
|
|
70
|
+
*/
|
|
71
|
+
dispatchRequestQuote(data: WidgetEventMap["requestQuote"]): void;
|
|
72
|
+
/**
|
|
73
|
+
* Dispatch event before swap execution
|
|
74
|
+
* @param data Pre-swap parameters
|
|
75
|
+
* @param findToken Function to find token details
|
|
76
|
+
*/
|
|
77
|
+
dispatchPreSwap(data: WidgetEventMap["preSwap"], findToken: FindTokenMethod): void;
|
|
78
|
+
/**
|
|
79
|
+
* Dispatch event after swap execution
|
|
80
|
+
* @param data Post-swap parameters including transaction hash
|
|
81
|
+
* @param findToken Function to find token details
|
|
82
|
+
*/
|
|
83
|
+
dispatchPostSwap(data: WidgetEventMap["postSwap"], findToken: FindTokenMethod): void;
|
|
84
|
+
/**
|
|
85
|
+
* Dispatch event when wallet is successfully connected
|
|
86
|
+
* @param data Wallet connection details
|
|
87
|
+
*/
|
|
88
|
+
dispatchWalletConnect(data: WidgetEventMap["walletConnect"]): void;
|
|
89
|
+
/**
|
|
90
|
+
* Dispatch event when wallet connection is rejected
|
|
91
|
+
* @param data Wallet rejection details
|
|
92
|
+
*/
|
|
93
|
+
dispatchWalletReject(data: WidgetEventMap["walletReject"]): void;
|
|
94
|
+
/**
|
|
95
|
+
* Dispatch event when onchain transaction is rejected
|
|
96
|
+
* @param data Onchain rejection details
|
|
97
|
+
*/
|
|
98
|
+
dispatchOnchainReject(data: WidgetEventMap["onchainReject"]): void;
|
|
62
99
|
}
|
|
100
|
+
export {};
|
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
import { formatAmount } from "./estimateService";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a hash string from quote request parameters to track changes
|
|
4
|
+
*/
|
|
5
|
+
export const createQuoteRequestParamsHash = (params) => {
|
|
6
|
+
return [
|
|
7
|
+
params.fromAddress || "",
|
|
8
|
+
params.toAddress || "",
|
|
9
|
+
params.fromChain,
|
|
10
|
+
params.toChain,
|
|
11
|
+
`${params.fromToken}_${params.fromChain}`,
|
|
12
|
+
`${params.toToken}_${params.toChain}`,
|
|
13
|
+
params.fromAmount,
|
|
14
|
+
].join("|");
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Formats the amount based on token details
|
|
18
|
+
* @param data Event parameters containing fromToken, fromChain, and fromAmount
|
|
19
|
+
* @param findToken Function to find token details
|
|
20
|
+
* @returns Original data with formatted amount
|
|
21
|
+
*/
|
|
22
|
+
const formatTokenAmount = (data, findToken) => {
|
|
23
|
+
const fromToken = findToken(data.fromToken, data.fromChain);
|
|
24
|
+
const formattedFromAmount = formatAmount(data.fromAmount, fromToken?.decimals);
|
|
25
|
+
// Rewrite the fromAmount with the formatted amount
|
|
26
|
+
// Example: 1000000000000000000 -> 1 with decimals 18
|
|
27
|
+
// For readability of the event data
|
|
28
|
+
return {
|
|
29
|
+
...data,
|
|
30
|
+
fromAmount: formattedFromAmount,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
1
33
|
export class WidgetEvents extends EventTarget {
|
|
2
34
|
static instance;
|
|
3
35
|
constructor() {
|
|
@@ -76,5 +108,49 @@ export class WidgetEvents extends EventTarget {
|
|
|
76
108
|
dispatchSwapRouteExecutionError(data) {
|
|
77
109
|
this.dispatch("swapRouteExecutionError", data);
|
|
78
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Dispatch event when requesting a quote for swap
|
|
113
|
+
* @param data Quote request parameters
|
|
114
|
+
*/
|
|
115
|
+
dispatchRequestQuote(data) {
|
|
116
|
+
this.dispatch("requestQuote", data);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Dispatch event before swap execution
|
|
120
|
+
* @param data Pre-swap parameters
|
|
121
|
+
* @param findToken Function to find token details
|
|
122
|
+
*/
|
|
123
|
+
dispatchPreSwap(data, findToken) {
|
|
124
|
+
this.dispatch("preSwap", formatTokenAmount(data, findToken));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Dispatch event after swap execution
|
|
128
|
+
* @param data Post-swap parameters including transaction hash
|
|
129
|
+
* @param findToken Function to find token details
|
|
130
|
+
*/
|
|
131
|
+
dispatchPostSwap(data, findToken) {
|
|
132
|
+
this.dispatch("postSwap", formatTokenAmount(data, findToken));
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Dispatch event when wallet is successfully connected
|
|
136
|
+
* @param data Wallet connection details
|
|
137
|
+
*/
|
|
138
|
+
dispatchWalletConnect(data) {
|
|
139
|
+
this.dispatch("walletConnect", data);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Dispatch event when wallet connection is rejected
|
|
143
|
+
* @param data Wallet rejection details
|
|
144
|
+
*/
|
|
145
|
+
dispatchWalletReject(data) {
|
|
146
|
+
this.dispatch("walletReject", data);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Dispatch event when onchain transaction is rejected
|
|
150
|
+
* @param data Onchain rejection details
|
|
151
|
+
*/
|
|
152
|
+
dispatchOnchainReject(data) {
|
|
153
|
+
this.dispatch("onchainReject", data);
|
|
154
|
+
}
|
|
79
155
|
}
|
|
80
156
|
//# sourceMappingURL=eventService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventService.js","sourceRoot":"","sources":["../../../src/services/internal/eventService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eventService.js","sourceRoot":"","sources":["../../../src/services/internal/eventService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { CountryWithCode, ExecuteFiatQuoteResult, ExecuteQuoteClient, FiatCurrencyEnhanced, FiatToCryptoConfig, FiatToCryptoProvider, OnRampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
2
2
|
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
3
|
+
interface CountryResponse {
|
|
4
|
+
countryName: string;
|
|
5
|
+
countryCode: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const getUserCountry: () => Promise<CountryResponse>;
|
|
3
8
|
export declare class FiatToCryptoService {
|
|
4
9
|
private provider?;
|
|
5
10
|
constructor(provider?: FiatToCryptoProvider);
|
|
@@ -22,3 +27,4 @@ export declare function getCountryData(countryCode: string): CountryWithCode;
|
|
|
22
27
|
* Get currency data from currency code
|
|
23
28
|
*/
|
|
24
29
|
export declare function getCurrencyData(currencyCode: string): FiatCurrencyEnhanced | undefined;
|
|
30
|
+
export {};
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
+
import axios from "axios";
|
|
1
2
|
import { countries } from "countries-list";
|
|
2
3
|
import getSymbolFromCurrency from "currency-symbol-map";
|
|
4
|
+
import { BETA_INTERNAL_API_BASE_URL, DEFAULT_COUNTRY_CODE, } from "../../core/constants";
|
|
3
5
|
import { countryCurrencyMap } from "./countryCurrencyMap";
|
|
6
|
+
export const getUserCountry = async () => {
|
|
7
|
+
try {
|
|
8
|
+
const { data } = await axios.get(`${BETA_INTERNAL_API_BASE_URL}/country`);
|
|
9
|
+
return data;
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return {
|
|
13
|
+
countryName: "United Kingdom",
|
|
14
|
+
countryCode: DEFAULT_COUNTRY_CODE,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
};
|
|
4
18
|
export class FiatToCryptoService {
|
|
5
19
|
provider;
|
|
6
20
|
constructor(provider) {
|
|
@@ -9,7 +23,7 @@ export class FiatToCryptoService {
|
|
|
9
23
|
static getProviderInfo(provider) {
|
|
10
24
|
return provider.getInfo();
|
|
11
25
|
}
|
|
12
|
-
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region =
|
|
26
|
+
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region = DEFAULT_COUNTRY_CODE) {
|
|
13
27
|
if (!this.provider)
|
|
14
28
|
throw new Error("Provider is not initialized");
|
|
15
29
|
return this.provider.getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod, region);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiatToCryptoService.js","sourceRoot":"","sources":["../../../src/services/internal/fiatToCryptoService.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,qBAAqB,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"fiatToCryptoService.js","sourceRoot":"","sources":["../../../src/services/internal/fiatToCryptoService.ts"],"names":[],"mappings":"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"}
|