@0xsquid/react-hooks 6.4.1-beta.0 → 6.4.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/constants.d.ts +15 -0
- package/dist/core/constants.js +15 -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/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/core/types/onramps/onramp.d.ts +2 -0
- package/dist/hooks/client/useClient.d.ts +1 -0
- package/dist/hooks/client/useClient.js +13 -1
- package/dist/hooks/client/useClient.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.js +5 -4
- package/dist/hooks/onramp/useFiatToCrypto.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 +3 -3
- package/dist/services/external/revolutClientAdapter.js.map +1 -1
- package/dist/services/internal/assetsService.js +1 -1
- package/dist/services/internal/countryCurrencyMap.d.ts +6 -0
- package/dist/services/internal/countryCurrencyMap.js +945 -0
- package/dist/services/internal/countryCurrencyMap.js.map +1 -0
- 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 +3 -5
- package/dist/services/internal/fiatToCryptoService.js +15 -6
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countryCurrencyMap.js","sourceRoot":"","sources":["../../../src/services/internal/countryCurrencyMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAoB,EAAU,EAAE;IAC3E,OAAO;QACL,MAAM,CAAC,WAAW,IAAI,EAAE;QACxB,MAAM,CAAC,SAAS,IAAI,EAAE;QACtB,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,OAAO;QACd,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE;QACzC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;QACrC,MAAM,CAAC,UAAU;KAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAGxB,IAAO,EACP,SAA0B,EACvB,EAAE;IACL,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,YAAY,CACtC,IAAI,CAAC,UAAU,EACf,SAAS,EAAE,QAAQ,CACpB,CAAC;IAEF,mDAAmD;IACnD,qDAAqD;IACrD,oCAAoC;IACpC,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,mBAAmB;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,WAAW;IACnC,MAAM,CAAC,QAAQ,CAAe;IAEtC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,uEAAuE;IAChE,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;SAC5C;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,cAAc,CACZ,IAAO,EACP,QAAkC,EAClC,OAA2C;QAE3C,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAoC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAClB,IAAO,EACP,QAAkC,EAClC,OAAwC;QAExC,KAAK,CAAC,mBAAmB,CACvB,IAAI,EACJ,QAAoC,EACpC,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAiC,IAAO,EAAE,IAAuB;QACvE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,MAAc;QAC/B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,KAA6B,EAAE,MAAc;QACnE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,UAKzB;QACC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,gCAAgC,CAC9B,IAAgD;QAEhD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,+BAA+B,CAC7B,IAA+C;QAE/C,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,IAAoC;QACvD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAA+B,EAAE,SAA0B;QACzE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CACd,IAAgC,EAChC,SAA0B;QAE1B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,IAAqC;QACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,IAAoC;QACvD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,IAAqC;QACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
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
3
|
export declare class FiatToCryptoService {
|
|
4
|
-
private provider
|
|
5
|
-
constructor(provider
|
|
4
|
+
private provider?;
|
|
5
|
+
constructor(provider?: FiatToCryptoProvider);
|
|
6
6
|
static getProviderInfo(provider: FiatToCryptoProvider): import("../external/baseAdapter").ProviderInfo;
|
|
7
7
|
getQuote(fiatCurrency: string, cryptoCurrencyID: string, amount: number, paymentMethod?: string, region?: string): Promise<OnRampQuoteResponse>;
|
|
8
8
|
getTransactionStatus(transactionId: string, walletAddress: string): Promise<OnRampTransactionStatus>;
|
|
@@ -10,7 +10,7 @@ export declare class FiatToCryptoService {
|
|
|
10
10
|
getConfiguration(squidConfig: {
|
|
11
11
|
chains: ChainData[];
|
|
12
12
|
tokens: Token[];
|
|
13
|
-
}): Promise<FiatToCryptoConfig>;
|
|
13
|
+
}): Promise<FiatToCryptoConfig | undefined>;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Get country data from country code
|
|
@@ -20,7 +20,5 @@ export declare class FiatToCryptoService {
|
|
|
20
20
|
export declare function getCountryData(countryCode: string): CountryWithCode;
|
|
21
21
|
/**
|
|
22
22
|
* Get currency data from currency code
|
|
23
|
-
* @param currencyCode - The currency code (e.g., "USD", "EUR")
|
|
24
|
-
* @returns Currency details including symbol and denomination, or undefined if no symbol is found
|
|
25
23
|
*/
|
|
26
24
|
export declare function getCurrencyData(currencyCode: string): FiatCurrencyEnhanced | undefined;
|
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
import { countries } from "countries-list";
|
|
2
2
|
import getSymbolFromCurrency from "currency-symbol-map";
|
|
3
|
+
import { DEFAULT_COUNTRY_CODE } from "../../core/constants";
|
|
4
|
+
import { countryCurrencyMap } from "./countryCurrencyMap";
|
|
3
5
|
export class FiatToCryptoService {
|
|
4
6
|
provider;
|
|
5
7
|
constructor(provider) {
|
|
6
|
-
if (!provider) {
|
|
7
|
-
throw new Error("Provider is required");
|
|
8
|
-
}
|
|
9
8
|
this.provider = provider;
|
|
10
9
|
}
|
|
11
10
|
static getProviderInfo(provider) {
|
|
12
11
|
return provider.getInfo();
|
|
13
12
|
}
|
|
14
|
-
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region =
|
|
13
|
+
async getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod = "card", region = DEFAULT_COUNTRY_CODE) {
|
|
14
|
+
if (!this.provider)
|
|
15
|
+
throw new Error("Provider is not initialized");
|
|
15
16
|
return this.provider.getQuote(fiatCurrency, cryptoCurrencyID, amount, paymentMethod, region);
|
|
16
17
|
}
|
|
17
18
|
async getTransactionStatus(transactionId, walletAddress) {
|
|
19
|
+
if (!this.provider)
|
|
20
|
+
throw new Error("Provider is not initialized");
|
|
18
21
|
return this.provider.getTransactionStatus(transactionId, walletAddress);
|
|
19
22
|
}
|
|
20
23
|
async executeQuote(executeQuoteRequest) {
|
|
24
|
+
if (!this.provider)
|
|
25
|
+
throw new Error("Provider is not initialized");
|
|
21
26
|
return this.provider.executeQuote(executeQuoteRequest);
|
|
22
27
|
}
|
|
23
28
|
async getConfiguration(squidConfig) {
|
|
29
|
+
if (!this.provider)
|
|
30
|
+
return undefined;
|
|
24
31
|
return this.provider.getConfiguration(squidConfig);
|
|
25
32
|
}
|
|
26
33
|
}
|
|
@@ -42,16 +49,18 @@ export function getCountryData(countryCode) {
|
|
|
42
49
|
}
|
|
43
50
|
/**
|
|
44
51
|
* Get currency data from currency code
|
|
45
|
-
* @param currencyCode - The currency code (e.g., "USD", "EUR")
|
|
46
|
-
* @returns Currency details including symbol and denomination, or undefined if no symbol is found
|
|
47
52
|
*/
|
|
48
53
|
export function getCurrencyData(currencyCode) {
|
|
49
54
|
const symbol = getSymbolFromCurrency(currencyCode);
|
|
50
55
|
if (!symbol)
|
|
51
56
|
return undefined;
|
|
57
|
+
const currencyInfo = countryCurrencyMap.find((c) => c.currencyCode === currencyCode);
|
|
58
|
+
const countryData = getCountryData(currencyInfo?.countryCode ?? "");
|
|
52
59
|
return {
|
|
53
60
|
denomination: currencyCode,
|
|
54
61
|
symbol,
|
|
62
|
+
name: currencyInfo?.name,
|
|
63
|
+
flagUrl: countryData.flagUrl,
|
|
55
64
|
};
|
|
56
65
|
}
|
|
57
66
|
//# sourceMappingURL=fiatToCryptoService.js.map
|
|
@@ -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;
|
|
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,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,mBAAmB;IACtB,QAAQ,CAAwB;IAExC,YAAY,QAA+B;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAA8B;QACnD,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,gBAAwB,EACxB,MAAc,EACd,gBAAwB,MAAM,EAC9B,SAAiB,oBAAoB;QAErC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,aAAqB,EACrB,aAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,mBAAuC;QAEvC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAGtB;QACC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAEnD,OAAO;QACL,GAAG,SAAS,CAAC,gBAA0C,CAAC;QACxD,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gBAAgB;YACvB,CAAC,CAAC,2BAA2B,gBAAgB,MAAM;YACnD,CAAC,CAAC,EAAE;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAoB;IAEpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CACvC,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAEpE,OAAO;QACL,YAAY,EAAE,YAAY;QAC1B,MAAM;QACN,IAAI,EAAE,YAAY,EAAE,IAAI;QACxB,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -16,11 +16,30 @@ export declare const parseToBigInt: (value: string, decimals?: number) => bigint
|
|
|
16
16
|
export declare const formatBNToReadable: (value: bigint | string, decimals?: number) => string;
|
|
17
17
|
export declare const roundNumericValue: (value?: string, precision?: number, useComaEvery3Digits?: boolean, significantFigures?: number) => string;
|
|
18
18
|
export declare function formatUnitsRounded(value: string, decimals?: string | number, maxDecimalDigits?: number): string;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
interface FormatTokenAmountOptions {
|
|
20
|
+
/**
|
|
21
|
+
* When set to true, formats `amount` to its exact value, without any rounding.
|
|
22
|
+
*/
|
|
23
|
+
exact?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* When set to true, formats `amount` to a compact value.
|
|
26
|
+
* Useful for cases where precision isn’t needed, just a rough estimate.
|
|
27
|
+
*/
|
|
28
|
+
simplified?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function formatTokenAmount(amount: string, { exact, simplified }?: FormatTokenAmountOptions): string;
|
|
22
31
|
interface FormatUsdAmountOptions {
|
|
32
|
+
/**
|
|
33
|
+
* When set to true, `amount` will be prefixed with a dollar sign ($)
|
|
34
|
+
*/
|
|
23
35
|
includeSign?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* If amount is above the threshold, uses 2 decimal places.
|
|
38
|
+
*
|
|
39
|
+
* If amount is below the threshold, uses a minimum of 2 decimal places
|
|
40
|
+
* and a maximum of 5 decimal places.
|
|
41
|
+
* If there are more decimal places than the maximum, will round the extra decimals.
|
|
42
|
+
*/
|
|
24
43
|
decimalPrecision?: boolean;
|
|
25
44
|
}
|
|
26
45
|
export declare function formatUsdAmount(amount?: number | bigint | string, { includeSign, decimalPrecision }?: FormatUsdAmountOptions): string;
|