@0xsquid/react-hooks 6.7.0-cosmos-rest-beta.0 → 6.7.0-rollup-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/constants.d.ts +9 -0
- package/dist/hooks/index.d.ts +5 -4
- package/dist/index.esm.js +16892 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +17096 -6
- package/dist/index.js.map +1 -1
- package/dist/secretService-Cc7emxDy.js +162 -0
- package/dist/secretService-Cc7emxDy.js.map +1 -0
- package/dist/{services/external/secretService.js → secretService-SEqSyHG0.js} +37 -8
- package/dist/secretService-SEqSyHG0.js.map +1 -0
- package/dist/services/external/rpcService.d.ts +2 -2
- package/dist/services/internal/cosmosService.d.ts +1 -2
- package/package.json +18 -4
- package/dist/core/abis/ics20.json +0 -128
- package/dist/core/connectors/bitcoin/errors/index.js +0 -22
- package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/helpers.js +0 -86
- package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
- package/dist/core/connectors/bitcoin/index.js +0 -2
- package/dist/core/connectors/bitcoin/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
- package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
- package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
- package/dist/core/constants.js +0 -135
- package/dist/core/constants.js.map +0 -1
- package/dist/core/externalLinks.js +0 -21
- package/dist/core/externalLinks.js.map +0 -1
- package/dist/core/index.js +0 -4
- package/dist/core/index.js.map +0 -1
- package/dist/core/multicall3.js +0 -442
- package/dist/core/multicall3.js.map +0 -1
- package/dist/core/providers/CosmosProvider.js +0 -13
- package/dist/core/providers/CosmosProvider.js.map +0 -1
- package/dist/core/providers/SolanaProvider.js +0 -15
- package/dist/core/providers/SolanaProvider.js.map +0 -1
- package/dist/core/providers/SuiProvider.js +0 -15
- package/dist/core/providers/SuiProvider.js.map +0 -1
- package/dist/core/queries/queries-keys.js +0 -204
- package/dist/core/queries/queries-keys.js.map +0 -1
- package/dist/core/queries/react-query-config.js +0 -11
- package/dist/core/queries/react-query-config.js.map +0 -1
- package/dist/core/types/config.js +0 -2
- package/dist/core/types/config.js.map +0 -1
- package/dist/core/types/dex.js +0 -33
- package/dist/core/types/dex.js.map +0 -1
- package/dist/core/types/error.js +0 -12
- package/dist/core/types/error.js.map +0 -1
- package/dist/core/types/event.js +0 -2
- package/dist/core/types/event.js.map +0 -1
- package/dist/core/types/index.js +0 -2
- package/dist/core/types/index.js.map +0 -1
- package/dist/core/types/rpc.js +0 -2
- package/dist/core/types/rpc.js.map +0 -1
- package/dist/core/types/sui.js +0 -2
- package/dist/core/types/sui.js.map +0 -1
- package/dist/core/types/swap.js +0 -2
- package/dist/core/types/swap.js.map +0 -1
- package/dist/core/types/tokens.js +0 -2
- package/dist/core/types/tokens.js.map +0 -1
- package/dist/core/types/transaction.js +0 -41
- package/dist/core/types/transaction.js.map +0 -1
- package/dist/core/types/wallet.js +0 -26
- package/dist/core/types/wallet.js.map +0 -1
- package/dist/core/wagmiConfig.js +0 -60
- package/dist/core/wagmiConfig.js.map +0 -1
- package/dist/core/wallets.js +0 -549
- package/dist/core/wallets.js.map +0 -1
- package/dist/hooks/chains/useSquidChains.js +0 -107
- package/dist/hooks/chains/useSquidChains.js.map +0 -1
- package/dist/hooks/client/useClient.js +0 -6
- package/dist/hooks/client/useClient.js.map +0 -1
- package/dist/hooks/cosmos/useCosmos.js +0 -172
- package/dist/hooks/cosmos/useCosmos.js.map +0 -1
- package/dist/hooks/cosmos/useCosmosForChain.js +0 -33
- package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
- package/dist/hooks/index.js +0 -44
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
- package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
- package/dist/hooks/query/useSquidQueryClient.js +0 -23
- package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
- package/dist/hooks/solana/useSolana.js +0 -104
- package/dist/hooks/solana/useSolana.js.map +0 -1
- package/dist/hooks/squid/useSquid.js +0 -55
- package/dist/hooks/squid/useSquid.js.map +0 -1
- package/dist/hooks/store/useAddressBookStore.js +0 -26
- package/dist/hooks/store/useAddressBookStore.js.map +0 -1
- package/dist/hooks/store/useAssetsColorsStore.js +0 -7
- package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
- package/dist/hooks/store/useDepositAddressStore.js +0 -12
- package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
- package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
- package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
- package/dist/hooks/store/useHistoryStore.js +0 -41
- package/dist/hooks/store/useHistoryStore.js.map +0 -1
- package/dist/hooks/store/useSquidStore.js +0 -56
- package/dist/hooks/store/useSquidStore.js.map +0 -1
- package/dist/hooks/store/useWalletStore.js +0 -42
- package/dist/hooks/store/useWalletStore.js.map +0 -1
- package/dist/hooks/sui/useSui.js +0 -28
- package/dist/hooks/sui/useSui.js.map +0 -1
- package/dist/hooks/sui/useSuiClient.js +0 -16
- package/dist/hooks/sui/useSuiClient.js.map +0 -1
- package/dist/hooks/sui/useSuiWallets.js +0 -42
- package/dist/hooks/sui/useSuiWallets.js.map +0 -1
- package/dist/hooks/swap/useDepositAddress.js +0 -63
- package/dist/hooks/swap/useDepositAddress.js.map +0 -1
- package/dist/hooks/swap/useSwap.js +0 -209
- package/dist/hooks/swap/useSwap.js.map +0 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -103
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -119
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
- package/dist/hooks/tokens/useBalance.js +0 -136
- package/dist/hooks/tokens/useBalance.js.map +0 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +0 -68
- package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
- package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
- package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
- package/dist/hooks/tokens/useNativeBalance.js +0 -217
- package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +0 -28
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
- package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
- package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
- package/dist/hooks/tokens/useSquidTokens.js +0 -80
- package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
- package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
- package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -68
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
- package/dist/hooks/transaction/useApproval.js +0 -223
- package/dist/hooks/transaction/useApproval.js.map +0 -1
- package/dist/hooks/transaction/useErc20Allowance.js +0 -43
- package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
- package/dist/hooks/transaction/useEstimate.js +0 -118
- package/dist/hooks/transaction/useEstimate.js.map +0 -1
- package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
- package/dist/hooks/transaction/useExecuteTransaction.js +0 -605
- package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
- package/dist/hooks/transaction/useGetRoute.js +0 -224
- package/dist/hooks/transaction/useGetRoute.js.map +0 -1
- package/dist/hooks/transaction/useIcs20Allowance.js +0 -40
- package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
- package/dist/hooks/transaction/useRouteWarnings.js +0 -19
- package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
- package/dist/hooks/transaction/useSingleTransaction.js +0 -91
- package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
- package/dist/hooks/user/useAvatar.js +0 -34
- package/dist/hooks/user/useAvatar.js.map +0 -1
- package/dist/hooks/user/useHistory.js +0 -106
- package/dist/hooks/user/useHistory.js.map +0 -1
- package/dist/hooks/user/useUserParams.js +0 -33
- package/dist/hooks/user/useUserParams.js.map +0 -1
- package/dist/hooks/wallet/useAddToken.js +0 -49
- package/dist/hooks/wallet/useAddToken.js.map +0 -1
- package/dist/hooks/wallet/useAutoConnect.js +0 -74
- package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
- package/dist/hooks/wallet/useEns.js +0 -69
- package/dist/hooks/wallet/useEns.js.map +0 -1
- package/dist/hooks/wallet/useGnosisContext.js +0 -78
- package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
- package/dist/hooks/wallet/useIntegratorContext.js +0 -39
- package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +0 -175
- package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
- package/dist/hooks/wallet/useSigner.js +0 -76
- package/dist/hooks/wallet/useSigner.js.map +0 -1
- package/dist/hooks/wallet/useWallet.js +0 -206
- package/dist/hooks/wallet/useWallet.js.map +0 -1
- package/dist/hooks/wallet/useWallets.js +0 -36
- package/dist/hooks/wallet/useWallets.js.map +0 -1
- package/dist/provider/index.js +0 -113
- package/dist/provider/index.js.map +0 -1
- package/dist/services/external/cosmosRestClient.d.ts +0 -18
- package/dist/services/external/cosmosRestClient.js +0 -41
- package/dist/services/external/cosmosRestClient.js.map +0 -1
- package/dist/services/external/ens.js +0 -66
- package/dist/services/external/ens.js.map +0 -1
- package/dist/services/external/rpcService.js +0 -390
- package/dist/services/external/rpcService.js.map +0 -1
- package/dist/services/external/secretService.js.map +0 -1
- package/dist/services/external/suiRpcClient.js +0 -80
- package/dist/services/external/suiRpcClient.js.map +0 -1
- package/dist/services/external/tokenDataService.js +0 -108
- package/dist/services/external/tokenDataService.js.map +0 -1
- package/dist/services/index.js +0 -16
- package/dist/services/index.js.map +0 -1
- package/dist/services/internal/apiService.js +0 -21
- package/dist/services/internal/apiService.js.map +0 -1
- package/dist/services/internal/assetsService.js +0 -586
- package/dist/services/internal/assetsService.js.map +0 -1
- package/dist/services/internal/bitcoinService.js +0 -51
- package/dist/services/internal/bitcoinService.js.map +0 -1
- package/dist/services/internal/configService.js +0 -215
- package/dist/services/internal/configService.js.map +0 -1
- package/dist/services/internal/cosmosService.js +0 -214
- package/dist/services/internal/cosmosService.js.map +0 -1
- package/dist/services/internal/errorService.js +0 -188
- package/dist/services/internal/errorService.js.map +0 -1
- package/dist/services/internal/estimateService.js +0 -221
- package/dist/services/internal/estimateService.js.map +0 -1
- package/dist/services/internal/eventService.js +0 -156
- package/dist/services/internal/eventService.js.map +0 -1
- package/dist/services/internal/evmService.js +0 -42
- package/dist/services/internal/evmService.js.map +0 -1
- package/dist/services/internal/numberService.js +0 -171
- package/dist/services/internal/numberService.js.map +0 -1
- package/dist/services/internal/priceService.js +0 -53
- package/dist/services/internal/priceService.js.map +0 -1
- package/dist/services/internal/searchService.js +0 -98
- package/dist/services/internal/searchService.js.map +0 -1
- package/dist/services/internal/solanaService.js +0 -109
- package/dist/services/internal/solanaService.js.map +0 -1
- package/dist/services/internal/suiService.js +0 -119
- package/dist/services/internal/suiService.js.map +0 -1
- package/dist/services/internal/transactionService.js +0 -207
- package/dist/services/internal/transactionService.js.map +0 -1
- package/dist/services/internal/transactionStatusService.js +0 -315
- package/dist/services/internal/transactionStatusService.js.map +0 -1
- package/dist/services/internal/walletService.js +0 -464
- package/dist/services/internal/walletService.js.map +0 -1
- package/dist/tests/apiService.test.js +0 -40
- package/dist/tests/apiService.test.js.map +0 -1
- package/dist/tests/assetsService.test.js +0 -500
- package/dist/tests/assetsService.test.js.map +0 -1
- package/dist/tests/configService.test.js +0 -673
- package/dist/tests/configService.test.js.map +0 -1
- package/dist/tests/estimateService.test.js +0 -355
- package/dist/tests/estimateService.test.js.map +0 -1
- package/dist/tests/fetchSquidData.js +0 -36
- package/dist/tests/fetchSquidData.js.map +0 -1
- package/dist/tests/jest-svg-transform.d.ts +0 -0
- package/dist/tests/jest-svg-transform.js +0 -21
- package/dist/tests/jest-svg-transform.js.map +0 -1
- package/dist/tests/numberService.test.js +0 -135
- package/dist/tests/numberService.test.js.map +0 -1
- package/dist/tests/priceService.test.js +0 -38
- package/dist/tests/priceService.test.js.map +0 -1
- package/dist/tests/sample.json +0 -0
- package/dist/tests/searchService.test.js +0 -92
- package/dist/tests/searchService.test.js.map +0 -1
- package/dist/tests/swapConfig.test.js +0 -332
- package/dist/tests/swapConfig.test.js.map +0 -1
- package/dist/tests/transactionService.test.js +0 -53
- package/dist/tests/transactionService.test.js.map +0 -1
- package/dist/tests/transactionStatusService.test.js +0 -165
- package/dist/tests/transactionStatusService.test.js.map +0 -1
- package/dist/tests/walletService.test.js +0 -264
- package/dist/tests/walletService.test.js.map +0 -1
|
@@ -1,188 +0,0 @@
|
|
|
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
|
-
export 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
|
-
};
|
|
23
|
-
export const transactionErrorCode = {
|
|
24
|
-
// Metamask
|
|
25
|
-
ACTION_REJECTED: {
|
|
26
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
27
|
-
internalLabel: "EVM: ACTION_REJECTED",
|
|
28
|
-
message: "Return to the swap page and try again.",
|
|
29
|
-
},
|
|
30
|
-
// Keplr
|
|
31
|
-
"Request rejected": {
|
|
32
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
33
|
-
internalLabel: "Request rejected",
|
|
34
|
-
message: "Return to the swap page and try again.",
|
|
35
|
-
},
|
|
36
|
-
// Phantom Solana, Cosmostation, Sui Wallet
|
|
37
|
-
"User rejected the request.": {
|
|
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
|
-
// Leap
|
|
43
|
-
"Chain approval rejected": {
|
|
44
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
45
|
-
internalLabel: "Request rejected",
|
|
46
|
-
message: "Return to the swap page and try again.",
|
|
47
|
-
},
|
|
48
|
-
// Gnosis Safe
|
|
49
|
-
"Transaction was rejected": {
|
|
50
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
51
|
-
internalLabel: "GNOSIS: Transaction was rejected",
|
|
52
|
-
message: "Return to the swap page and try again.",
|
|
53
|
-
},
|
|
54
|
-
// Metamask, Surf (Sui), OKX (Sui)
|
|
55
|
-
4001: {
|
|
56
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
57
|
-
internalLabel: "EVM: REJECTED: CODE 4001",
|
|
58
|
-
message: "Return to the swap page and try again.",
|
|
59
|
-
},
|
|
60
|
-
// Rainbow
|
|
61
|
-
"-32603": {
|
|
62
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
63
|
-
internalLabel: "EVM: REJECTED: CODE -32603",
|
|
64
|
-
message: "Return to the swap page and try again.",
|
|
65
|
-
},
|
|
66
|
-
// Slush web (Sui)
|
|
67
|
-
"User rejected the request": {
|
|
68
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
69
|
-
internalLabel: "SUI: User rejected the request",
|
|
70
|
-
message: "Return to the swap page and try again.",
|
|
71
|
-
},
|
|
72
|
-
// Slush web (Sui)
|
|
73
|
-
"User closed the wallet window": {
|
|
74
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
75
|
-
internalLabel: "SUI: User closed the wallet window",
|
|
76
|
-
message: "Return to the swap page and try again.",
|
|
77
|
-
},
|
|
78
|
-
// Nightly (Sui)
|
|
79
|
-
"User rejected approval": {
|
|
80
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
81
|
-
internalLabel: "SUI: User rejected approval",
|
|
82
|
-
message: "Return to the swap page and try again.",
|
|
83
|
-
},
|
|
84
|
-
// Backpack (Sui)
|
|
85
|
-
"Approval Denied": {
|
|
86
|
-
type: TransactionErrorType.REJECTED_BY_USER,
|
|
87
|
-
internalLabel: "SUI: Approval Denied",
|
|
88
|
-
message: "Return to the swap page and try again.",
|
|
89
|
-
},
|
|
90
|
-
CALL_EXCEPTION: {
|
|
91
|
-
type: TransactionErrorType.CALL_EXCEPTION,
|
|
92
|
-
internalLabel: "EVM: CALL_EXCEPTION",
|
|
93
|
-
message: "Swap failed on the source chain. Please let us know by submitting a ticket here.",
|
|
94
|
-
},
|
|
95
|
-
UNKNOWN: {
|
|
96
|
-
type: TransactionErrorType.UNKNOWN,
|
|
97
|
-
internalLabel: "UNKNOWN ERROR: Transaction failed",
|
|
98
|
-
message: "The transaction could not be initiated.",
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Detects if an error is a user rejection based on normalized error structure
|
|
103
|
-
*/
|
|
104
|
-
export const isUserRejectionError = (normalizedError) => {
|
|
105
|
-
const { code, message } = normalizedError;
|
|
106
|
-
// Check if the error matches any known rejection patterns from transactionErrorCode
|
|
107
|
-
return Object.entries(transactionErrorCode).some(([key, value]) => {
|
|
108
|
-
if (value.type !== TransactionErrorType.REJECTED_BY_USER)
|
|
109
|
-
return false;
|
|
110
|
-
// Check if code matches (converting to string for comparison)
|
|
111
|
-
if (code != undefined && key === code.toString())
|
|
112
|
-
return true;
|
|
113
|
-
// Check if message matches
|
|
114
|
-
if (message && key === message)
|
|
115
|
-
return true;
|
|
116
|
-
return false;
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* Converts any transaction error into a standardized TransactionErrorWithMessage format
|
|
121
|
-
* @param error The error to convert
|
|
122
|
-
* @returns A standardized error object
|
|
123
|
-
*/
|
|
124
|
-
export const getTransactionError = (error) => {
|
|
125
|
-
const normalizedError = normalizeError(error);
|
|
126
|
-
if (isUserRejectionError(normalizedError)) {
|
|
127
|
-
// Return the specific rejection error if we can find it
|
|
128
|
-
if (normalizedError.code) {
|
|
129
|
-
const codeError = transactionErrorCode[normalizedError.code.toString()];
|
|
130
|
-
if (codeError?.type === TransactionErrorType.REJECTED_BY_USER)
|
|
131
|
-
return codeError;
|
|
132
|
-
}
|
|
133
|
-
if (normalizedError.message) {
|
|
134
|
-
const messageError = transactionErrorCode[normalizedError.message];
|
|
135
|
-
if (messageError?.type === TransactionErrorType.REJECTED_BY_USER)
|
|
136
|
-
return messageError;
|
|
137
|
-
}
|
|
138
|
-
return transactionErrorCode.ACTION_REJECTED;
|
|
139
|
-
}
|
|
140
|
-
if (normalizedError.code) {
|
|
141
|
-
return (transactionErrorCode[normalizedError.code.toString()] ||
|
|
142
|
-
transactionErrorCode.UNKNOWN);
|
|
143
|
-
}
|
|
144
|
-
if (normalizedError.message) {
|
|
145
|
-
return (transactionErrorCode[normalizedError.message] ||
|
|
146
|
-
transactionErrorCode.UNKNOWN);
|
|
147
|
-
}
|
|
148
|
-
return transactionErrorCode.UNKNOWN;
|
|
149
|
-
};
|
|
150
|
-
/**
|
|
151
|
-
* Handles dispatching appropriate events based on the error type
|
|
152
|
-
*/
|
|
153
|
-
export const handleTransactionErrorEvents = ({ error, transactionParams, walletProviderName, squidRoute, }) => {
|
|
154
|
-
// Handle wallet rejection events
|
|
155
|
-
if (error.type === TransactionErrorType.REJECTED_BY_USER) {
|
|
156
|
-
// At this point, we don't have transactionParams so we should use the squidRoute
|
|
157
|
-
WidgetEvents.getInstance().dispatchWalletReject({
|
|
158
|
-
chainId: squidRoute?.params.fromChain || "",
|
|
159
|
-
provider: walletProviderName || "",
|
|
160
|
-
reason: error.internalLabel,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else if (error.type === TransactionErrorType.CALL_EXCEPTION) {
|
|
164
|
-
// Handle on-chain transaction errors
|
|
165
|
-
WidgetEvents.getInstance().dispatchOnchainReject({
|
|
166
|
-
walletAddress: transactionParams?.fromAddress || "",
|
|
167
|
-
chainId: transactionParams?.fromChain?.chainId || "",
|
|
168
|
-
reason: error.internalLabel,
|
|
169
|
-
txHash: transactionParams?.transactionId,
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
// Always dispatch the swap route execution error
|
|
173
|
-
WidgetEvents.getInstance().dispatchSwapRouteExecutionError({
|
|
174
|
-
error,
|
|
175
|
-
});
|
|
176
|
-
return error;
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Check if the error is a Squid route error
|
|
180
|
-
*/
|
|
181
|
-
export const isSwapRouteError = (error) => {
|
|
182
|
-
return (error &&
|
|
183
|
-
(typeof error.code === "string" || typeof error.errorType === "string"));
|
|
184
|
-
};
|
|
185
|
-
export const isStatusError = (error) => {
|
|
186
|
-
return error && typeof error.errorType === "string";
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=errorService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errorService.js","sourceRoot":"","sources":["../../../src/services/internal/errorService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { ChainType } from "@0xsquid/squid-types";
|
|
2
|
-
import { convertTokenAmountToUSD, findNativeToken, findToken, formatSeconds, isCoralBridgeAction, } from "..";
|
|
3
|
-
import { gasRefundMultiplier } from "../../core/constants";
|
|
4
|
-
import { formatBNToReadable } from "./numberService";
|
|
5
|
-
export const formatAmount = (amountInWei, decimals) => (amountInWei ? formatBNToReadable(amountInWei, decimals) : "");
|
|
6
|
-
export const parseToAmountUSD = (toAmountUSD) => toAmountUSD ? parseFloat(toAmountUSD.replace(/,/g, "")) : 0;
|
|
7
|
-
/**
|
|
8
|
-
* Calculates the expected gas refund
|
|
9
|
-
*
|
|
10
|
-
* Currently we only refund when source chain is EVM
|
|
11
|
-
* There's no refund for Cosmos or Coral routes
|
|
12
|
-
*/
|
|
13
|
-
export const calculateExpectedGasRefundCost = (firstFeeCost, fromChainType, actions) => {
|
|
14
|
-
if (fromChainType !== ChainType.EVM) {
|
|
15
|
-
return BigInt(0);
|
|
16
|
-
}
|
|
17
|
-
const isCoralRoute = actions?.some((action) => isCoralBridgeAction(action));
|
|
18
|
-
if (isCoralRoute) {
|
|
19
|
-
return BigInt(0);
|
|
20
|
-
}
|
|
21
|
-
const amount = BigInt(firstFeeCost?.amount ?? "0");
|
|
22
|
-
const refundMultiplier = BigInt(gasRefundMultiplier);
|
|
23
|
-
return (amount * refundMultiplier) / BigInt(100);
|
|
24
|
-
};
|
|
25
|
-
export const calculateTotalNativeFees = ({ expressFeeCost, firstFeeCost, firstGasCost, sameTokenBetweenFees, }) => BigInt(expressFeeCost?.amount ?? "0") +
|
|
26
|
-
(sameTokenBetweenFees
|
|
27
|
-
? BigInt(firstFeeCost?.amount ?? "0") + BigInt(firstGasCost?.amount ?? "0")
|
|
28
|
-
: BigInt(firstGasCost?.amount ?? "0"));
|
|
29
|
-
export const isFromBalanceEnoughToSwap = ({ isFromTokenNative, fromAmount, totalFeesInNativeTokenPlusRatio, nativeTokenBalanceFromChainWei, }) => {
|
|
30
|
-
const fromAmountBigInt = BigInt(fromAmount ?? "0");
|
|
31
|
-
const totalFeesInNativeTokenPlusRatioBigInt = totalFeesInNativeTokenPlusRatio;
|
|
32
|
-
const nativeTokenBalanceFromChainWeiBigInt = nativeTokenBalanceFromChainWei;
|
|
33
|
-
return isFromTokenNative
|
|
34
|
-
? fromAmountBigInt + totalFeesInNativeTokenPlusRatioBigInt <=
|
|
35
|
-
nativeTokenBalanceFromChainWeiBigInt
|
|
36
|
-
: totalFeesInNativeTokenPlusRatioBigInt <=
|
|
37
|
-
nativeTokenBalanceFromChainWeiBigInt;
|
|
38
|
-
};
|
|
39
|
-
export const calculateMinAmountValueWarnMsg = ({ isFromTokenNative, nativeTokenBalanceFromChainWei, sourceChainNativeTokenDecimals, totalFeesInNativeTokenPlusRatio, }) => isFromTokenNative
|
|
40
|
-
? (() => {
|
|
41
|
-
const minAmount = nativeTokenBalanceFromChainWei - totalFeesInNativeTokenPlusRatio;
|
|
42
|
-
return minAmount > BigInt(0)
|
|
43
|
-
? formatBNToReadable(minAmount, sourceChainNativeTokenDecimals)
|
|
44
|
-
: "0";
|
|
45
|
-
})()
|
|
46
|
-
: undefined;
|
|
47
|
-
/**
|
|
48
|
-
* Calculates the estimated duration of a route
|
|
49
|
-
*
|
|
50
|
-
* @param {number} estimatedRouteDuration - The estimated route duration in seconds
|
|
51
|
-
* @param {boolean} isSingleChainRoute - Flag indicating whether the route is single chain
|
|
52
|
-
*
|
|
53
|
-
* @returns {Object} An object containing the estimated duration and a formatter function
|
|
54
|
-
*/
|
|
55
|
-
export const formatEstimatedRouteDuration = ({ estimatedRouteDuration, isSingleChainRoute, }) => {
|
|
56
|
-
const fallbackDuration = 20;
|
|
57
|
-
let durationInSeconds = fallbackDuration;
|
|
58
|
-
if (estimatedRouteDuration) {
|
|
59
|
-
durationInSeconds = Math.round(estimatedRouteDuration);
|
|
60
|
-
}
|
|
61
|
-
else if (isSingleChainRoute) {
|
|
62
|
-
durationInSeconds = 1;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
durationInSeconds = fallbackDuration;
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
seconds: durationInSeconds,
|
|
69
|
-
format: (sTemplate = "s", mTemplate = "m", hTemplate = "h") => formatSeconds(durationInSeconds, sTemplate, mTemplate, hTemplate),
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* Calculates and formats various estimate results based on the provided Squid route and additional parameters.
|
|
74
|
-
*
|
|
75
|
-
* @param {RouteResponse["route"]} squidRoute - The Squid route containing estimate information.
|
|
76
|
-
* @param {Token[]} tokens - An array of token objects.
|
|
77
|
-
* @param {ChainData} fromChain - The source chain object.
|
|
78
|
-
* @param {ChainData} toChain - The destination chain object.
|
|
79
|
-
* @param {boolean} collectFees - Flag indicating whether to collect fees.
|
|
80
|
-
* @param {string} nativeTokenBalanceFromChain - The native token balance on the source chain.
|
|
81
|
-
* @param {boolean} expressActivatedUI - Flag indicating whether express mode is activated in the UI.
|
|
82
|
-
* @returns {Object} An object containing various estimate results and calculations, including token information,
|
|
83
|
-
* amounts, fees, gas costs, and other relevant data for the transaction.
|
|
84
|
-
*/
|
|
85
|
-
export const calculateEstimateResults = ({ squidRoute, tokens, fromChain, toChain, collectFees, nativeTokenBalanceFromChainWei, }) => {
|
|
86
|
-
const fromToken = findToken(tokens, squidRoute?.params.fromChain, squidRoute?.params.fromToken);
|
|
87
|
-
const fromAmount = squidRoute?.estimate?.fromAmount;
|
|
88
|
-
const fromAmountFormatted = formatAmount(fromAmount, fromToken?.decimals);
|
|
89
|
-
const sourceChainNativeToken = findNativeToken(tokens, fromChain);
|
|
90
|
-
const destChainNativeToken = findNativeToken(tokens, toChain);
|
|
91
|
-
const toAmountUSD = squidRoute?.estimate?.toAmountUSD;
|
|
92
|
-
const toAmountUSDFloat = parseToAmountUSD(toAmountUSD);
|
|
93
|
-
const exchangeRate = squidRoute?.estimate.exchangeRate ?? "0";
|
|
94
|
-
const toAmountMinUSD = squidRoute?.estimate.toAmountMinUSD ?? "0";
|
|
95
|
-
const toAmountMin = formatBNToReadable(squidRoute?.estimate.toAmountMin ?? "0", squidRoute?.estimate.toToken.decimals);
|
|
96
|
-
const toAmount = formatBNToReadable(squidRoute?.estimate.toAmount ?? "0", squidRoute?.estimate.toToken.decimals);
|
|
97
|
-
const estimate = squidRoute?.estimate;
|
|
98
|
-
const allFeeCosts = estimate?.feeCosts ?? [];
|
|
99
|
-
const allGasCosts = estimate?.gasCosts ?? [];
|
|
100
|
-
const firstFeeCost = allFeeCosts.length > 0 ? allFeeCosts[0] : undefined;
|
|
101
|
-
const firstGasCost = allGasCosts.length > 0 ? allGasCosts[0] : undefined;
|
|
102
|
-
const expressFeeCost = allFeeCosts.find((f) => f.name === "Boost fee");
|
|
103
|
-
const integratorFeeCost = allFeeCosts.length > 0 && collectFees
|
|
104
|
-
? allFeeCosts.find((f) => f.name === "Integrator fee")
|
|
105
|
-
: undefined;
|
|
106
|
-
const expectedGasRefundCost = calculateExpectedGasRefundCost(firstFeeCost, fromChain?.chainType, estimate?.actions);
|
|
107
|
-
const expectedGasRefundCostUSD = convertTokenAmountToUSD(formatBNToReadable(expectedGasRefundCost, firstFeeCost?.token.decimals ?? 18), firstFeeCost?.token.usdPrice ?? "0");
|
|
108
|
-
const sameTokenBetweenFees = firstFeeCost?.token.address === firstGasCost?.token.address &&
|
|
109
|
-
firstFeeCost?.token.chainId === firstGasCost?.token.chainId;
|
|
110
|
-
const isFromTokenNative =
|
|
111
|
-
// TODO: temporary fix, currently nativeCurrency.symbol is not always in uppercase
|
|
112
|
-
fromToken?.symbol.toUpperCase() ===
|
|
113
|
-
fromChain?.nativeCurrency.symbol.toUpperCase();
|
|
114
|
-
const totalNativeFees = calculateTotalNativeFees({
|
|
115
|
-
expressFeeCost,
|
|
116
|
-
firstFeeCost,
|
|
117
|
-
firstGasCost,
|
|
118
|
-
sameTokenBetweenFees,
|
|
119
|
-
});
|
|
120
|
-
const totalFeesInNativeTokenPlusRatio = (totalNativeFees * BigInt(110)) / BigInt(100);
|
|
121
|
-
const fromBalanceEnoughToSwap = isFromBalanceEnoughToSwap({
|
|
122
|
-
isFromTokenNative,
|
|
123
|
-
fromAmount,
|
|
124
|
-
fromTokenDecimals: fromToken?.decimals,
|
|
125
|
-
totalFeesInNativeTokenPlusRatio,
|
|
126
|
-
nativeTokenBalanceFromChainWei,
|
|
127
|
-
});
|
|
128
|
-
const minAmountValueWarnMsg = calculateMinAmountValueWarnMsg({
|
|
129
|
-
isFromTokenNative,
|
|
130
|
-
nativeTokenBalanceFromChainWei,
|
|
131
|
-
sourceChainNativeTokenDecimals: sourceChainNativeToken?.decimals,
|
|
132
|
-
totalFeesInNativeTokenPlusRatio,
|
|
133
|
-
});
|
|
134
|
-
const isSingleChainRoute = fromChain?.chainId === toChain?.chainId;
|
|
135
|
-
const estimatedRouteDuration = formatEstimatedRouteDuration({
|
|
136
|
-
estimatedRouteDuration: squidRoute?.estimate?.estimatedRouteDuration,
|
|
137
|
-
isSingleChainRoute,
|
|
138
|
-
});
|
|
139
|
-
return {
|
|
140
|
-
fromToken,
|
|
141
|
-
fromAmount,
|
|
142
|
-
fromAmountFormatted,
|
|
143
|
-
sourceChainNativeToken,
|
|
144
|
-
destChainNativeToken,
|
|
145
|
-
toAmountUSD,
|
|
146
|
-
toAmountUSDFloat,
|
|
147
|
-
exchangeRate,
|
|
148
|
-
toAmountMinUSD,
|
|
149
|
-
toAmountMin,
|
|
150
|
-
toAmount,
|
|
151
|
-
allFeeCosts,
|
|
152
|
-
allGasCosts,
|
|
153
|
-
firstFeeCost,
|
|
154
|
-
firstGasCost,
|
|
155
|
-
expressFeeCost,
|
|
156
|
-
integratorFeeCost,
|
|
157
|
-
expectedGasRefundCost,
|
|
158
|
-
expectedGasRefundCostUSD,
|
|
159
|
-
sameTokenBetweenFees,
|
|
160
|
-
isFromTokenNative,
|
|
161
|
-
totalNativeFees,
|
|
162
|
-
totalFeesInNativeTokenPlusRatio,
|
|
163
|
-
fromBalanceEnoughToSwap,
|
|
164
|
-
minAmountValueWarnMsg,
|
|
165
|
-
estimatedRouteDuration,
|
|
166
|
-
};
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* Calculates the total estimate with refund for a transaction.
|
|
170
|
-
*
|
|
171
|
-
* @param allFeeCosts - Total fee costs of the transaction
|
|
172
|
-
* @param expectedGasRefundCost - The expected gas refund cost as a bigint.
|
|
173
|
-
* @param getUSDValue - A function to convert an amount to its USD value.
|
|
174
|
-
* @returns An object containing the total amount, total amount in USD, and the fee token.
|
|
175
|
-
*/
|
|
176
|
-
export const calculateTotalWithRefundEstimate = (allFeeCosts, expectedGasRefundCost, getUSDValue) => {
|
|
177
|
-
const initialTotalFees = {
|
|
178
|
-
totalFeeAmount: BigInt(0),
|
|
179
|
-
totalFeeUsd: 0,
|
|
180
|
-
};
|
|
181
|
-
const { totalFeeAmount, totalFeeUsd } = allFeeCosts?.reduce((totalFees, currentFee) => {
|
|
182
|
-
return {
|
|
183
|
-
totalFeeAmount: BigInt(totalFees.totalFeeAmount) + BigInt(currentFee.amount),
|
|
184
|
-
totalFeeUsd: Number(totalFees.totalFeeUsd) + Number(currentFee.amountUsd),
|
|
185
|
-
};
|
|
186
|
-
}, initialTotalFees) ?? initialTotalFees;
|
|
187
|
-
const totalFeeAmountMinusRefund = totalFeeAmount - expectedGasRefundCost;
|
|
188
|
-
const firstFeeCost = allFeeCosts?.[0];
|
|
189
|
-
const totalFeeAmountMinusRefundBn = formatBNToReadable(totalFeeAmountMinusRefund, firstFeeCost?.token?.decimals ?? 18);
|
|
190
|
-
const formattedRefundCost = formatBNToReadable(expectedGasRefundCost, firstFeeCost?.token.decimals ?? 18);
|
|
191
|
-
const formattedRefundCostUsd = getUSDValue(formattedRefundCost);
|
|
192
|
-
const totalFeeUsdMinusRefund = totalFeeUsd - Number(formattedRefundCostUsd ?? 0);
|
|
193
|
-
return {
|
|
194
|
-
totalAmount: totalFeeAmountMinusRefundBn,
|
|
195
|
-
totalAmountUSD: totalFeeUsdMinusRefund,
|
|
196
|
-
feeToken: firstFeeCost?.token,
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Calculates the proposed gas amount for the destination chain.
|
|
201
|
-
*
|
|
202
|
-
* @param destChainNativeToken - The symbol of the native token for the destination chain.
|
|
203
|
-
* @returns An object containing the proposed gas amount value and the currency symbol.
|
|
204
|
-
*/
|
|
205
|
-
export const getProposedGasDestinationAmount = (destChainNativeToken) => {
|
|
206
|
-
const gasAmounts = {
|
|
207
|
-
GLMR: 5.289,
|
|
208
|
-
ETH: 0.0009,
|
|
209
|
-
AVAX: 0.115,
|
|
210
|
-
BNB: 0.00425,
|
|
211
|
-
FTM: 4.45,
|
|
212
|
-
CELO: 3.052,
|
|
213
|
-
KAVA: 2.339,
|
|
214
|
-
MATIC: 1.795,
|
|
215
|
-
};
|
|
216
|
-
return {
|
|
217
|
-
value: gasAmounts[destChainNativeToken ?? ""] ?? 0,
|
|
218
|
-
currency: destChainNativeToken,
|
|
219
|
-
};
|
|
220
|
-
};
|
|
221
|
-
//# sourceMappingURL=estimateService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estimateService.js","sourceRoot":"","sources":["../../../src/services/internal/estimateService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,SAAS,EACT,aAAa,EACb,mBAAmB,GACpB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAMrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAA+B,EAC/B,QAA4B,EAC5B,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAA+B,EAAE,EAAE,CAClE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAAwC,EACxC,aAAoC,EACpC,OAA4C,EACpC,EAAE;IACV,IAAI,aAAa,KAAK,SAAS,CAAC,GAAG,EAAE;QACnC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;IAED,MAAM,YAAY,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5E,IAAI,YAAY,EAAE;QAChB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,oBAAoB,GAMrB,EAAE,EAAE,CACH,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,GAAG,CAAC;IACrC,CAAC,oBAAoB;QACnB,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC;QAC3E,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,iBAAiB,EACjB,UAAU,EACV,+BAA+B,EAC/B,8BAA8B,GAO/B,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;IACnD,MAAM,qCAAqC,GAAG,+BAA+B,CAAC;IAC9E,MAAM,oCAAoC,GAAG,8BAA8B,CAAC;IAE5E,OAAO,iBAAiB;QACtB,CAAC,CAAC,gBAAgB,GAAG,qCAAqC;YACtD,oCAAoC;QACxC,CAAC,CAAC,qCAAqC;YACnC,oCAAoC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,GAMhC,EAAE,EAAE,CACH,iBAAiB;IACf,CAAC,CAAC,CAAC,GAAG,EAAE;QACJ,MAAM,SAAS,GACb,8BAA8B,GAAG,+BAA+B,CAAC;QACnE,OAAO,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,8BAA8B,CAAC;YAC/D,CAAC,CAAC,GAAG,CAAC;IACV,CAAC,CAAC,EAAE;IACN,CAAC,CAAC,SAAS,CAAC;AAEhB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,sBAAsB,EACtB,kBAAkB,GAInB,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,IAAI,iBAAiB,GAAG,gBAAgB,CAAC;IACzC,IAAI,sBAAsB,EAAE;QAC1B,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACxD;SAAM,IAAI,kBAAkB,EAAE;QAC7B,iBAAiB,GAAG,CAAC,CAAC;KACvB;SAAM;QACL,iBAAiB,GAAG,gBAAgB,CAAC;KACtC;IACD,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,CACN,YAAoB,GAAG,EACvB,YAAoB,GAAG,EACvB,YAAoB,GAAG,EACvB,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,WAAW,EACX,8BAA8B,GAQ/B,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,SAAS,CACzB,MAAM,EACN,UAAU,EAAE,MAAM,CAAC,SAAS,EAC5B,UAAU,EAAE,MAAM,CAAC,SAAS,CAC7B,CAAC;IACF,MAAM,UAAU,GAAG,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;IACpD,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;IACtD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,UAAU,EAAE,QAAQ,CAAC,YAAY,IAAI,GAAG,CAAC;IAC9D,MAAM,cAAc,GAAG,UAAU,EAAE,QAAQ,CAAC,cAAc,IAAI,GAAG,CAAC;IAElE,MAAM,WAAW,GAAG,kBAAkB,CACpC,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAI,GAAG,EACvC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACtC,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CACjC,UAAU,EAAE,QAAQ,CAAC,QAAQ,IAAI,GAAG,EACpC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACtC,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAgC,CAAC;IAC9D,MAAM,WAAW,GAAc,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IACxD,MAAM,WAAW,GAAc,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACvE,MAAM,iBAAiB,GACrB,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW;QACnC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,qBAAqB,GAAG,8BAA8B,CAC1D,YAAY,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,OAAO,CAClB,CAAC;IAEF,MAAM,wBAAwB,GAAG,uBAAuB,CACtD,kBAAkB,CAChB,qBAAqB,EACrB,YAAY,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CACnC,EACD,YAAY,EAAE,KAAK,CAAC,QAAQ,IAAI,GAAG,CACpC,CAAC;IAEF,MAAM,oBAAoB,GACxB,YAAY,EAAE,KAAK,CAAC,OAAO,KAAK,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3D,YAAY,EAAE,KAAK,CAAC,OAAO,KAAK,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;IAE9D,MAAM,iBAAiB;IACrB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE;QAC/B,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAEjD,MAAM,eAAe,GAAG,wBAAwB,CAAC;QAC/C,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,oBAAoB;KACrB,CAAC,CAAC;IAEH,MAAM,+BAA+B,GACnC,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;QACxD,iBAAiB;QACjB,UAAU;QACV,iBAAiB,EAAE,SAAS,EAAE,QAAQ;QACtC,+BAA+B;QAC/B,8BAA8B;KAC/B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;QAC3D,iBAAiB;QACjB,8BAA8B;QAC9B,8BAA8B,EAAE,sBAAsB,EAAE,QAAQ;QAChE,+BAA+B;KAChC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,SAAS,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC;IAEnE,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;QAC1D,sBAAsB,EAAE,UAAU,EAAE,QAAQ,EAAE,sBAAsB;QACpE,kBAAkB;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,sBAAsB;QACtB,oBAAoB;QACpB,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,cAAc;QACd,WAAW;QACX,QAAQ;QACR,WAAW;QACX,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;QACxB,oBAAoB;QACpB,iBAAiB;QACjB,eAAe;QACf,+BAA+B;QAC/B,uBAAuB;QACvB,qBAAqB;QACrB,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,WAAkC,EAClC,qBAA6B,EAC7B,WAAuC,EACvC,EAAE;IACF,MAAM,gBAAgB,GAAG;QACvB,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACzB,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GACnC,WAAW,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE;QAC5C,OAAO;YACL,cAAc,EACZ,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC9D,WAAW,EACT,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;SAC/D,CAAC;IACJ,CAAC,EAAE,gBAAgB,CAAC,IAAI,gBAAgB,CAAC;IAE3C,MAAM,yBAAyB,GAAG,cAAc,GAAG,qBAAqB,CAAC;IACzE,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,2BAA2B,GAAG,kBAAkB,CACpD,yBAAyB,EACzB,YAAY,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,CACpC,CAAC;IACF,MAAM,mBAAmB,GAAG,kBAAkB,CAC5C,qBAAqB,EACrB,YAAY,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CACnC,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,sBAAsB,GAC1B,WAAW,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC;IAEpD,OAAO;QACL,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,sBAAsB;QACtC,QAAQ,EAAE,YAAY,EAAE,KAAK;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,oBAAwC,EACxC,EAAE;IACF,MAAM,UAAU,GAA8B;QAC5C,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;KACb,CAAC;IACF,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC,IAAI,CAAC;QAClD,QAAQ,EAAE,oBAAoB;KAC/B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,156 +0,0 @@
|
|
|
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
|
-
};
|
|
33
|
-
export class WidgetEvents extends EventTarget {
|
|
34
|
-
static instance;
|
|
35
|
-
constructor() {
|
|
36
|
-
super();
|
|
37
|
-
}
|
|
38
|
-
// Singleton, because we need to access this service outside the widget
|
|
39
|
-
static getInstance() {
|
|
40
|
-
if (!WidgetEvents.instance) {
|
|
41
|
-
WidgetEvents.instance = new WidgetEvents();
|
|
42
|
-
}
|
|
43
|
-
return WidgetEvents.instance;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Overriding the addEventListener method to make it easier to use with typescript
|
|
47
|
-
* @param type
|
|
48
|
-
* @param listener
|
|
49
|
-
* @param options
|
|
50
|
-
*/
|
|
51
|
-
listenToWidget(type, listener, options) {
|
|
52
|
-
super.addEventListener(type, listener, options);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Overriding the removeEventListener method to make it easier to use with typescript
|
|
56
|
-
* @param type
|
|
57
|
-
* @param listener
|
|
58
|
-
* @param options
|
|
59
|
-
*/
|
|
60
|
-
removeWidgetListener(type, listener, options) {
|
|
61
|
-
super.removeEventListener(type, listener, options);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Dispatch an event of the widget
|
|
65
|
-
* To be listened from an integrator website
|
|
66
|
-
* For example to display a success message when transaction is done
|
|
67
|
-
* @param name
|
|
68
|
-
* @param data
|
|
69
|
-
*/
|
|
70
|
-
dispatch(name, data) {
|
|
71
|
-
this.dispatchEvent(new CustomEvent(name, { detail: data }));
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Will dispatch the main axelar status of transaction
|
|
75
|
-
* This will be called every time the status is received by backend
|
|
76
|
-
* (Using interval to check status)
|
|
77
|
-
* @param status
|
|
78
|
-
*/
|
|
79
|
-
dispatchSwapStatus(status) {
|
|
80
|
-
this.dispatch("swapStatus", { status });
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Dispatch event when user executes a swap
|
|
84
|
-
* Only when we have the tx hash received
|
|
85
|
-
* @param route
|
|
86
|
-
*/
|
|
87
|
-
dispatchSwapExecuteCall(route, txHash) {
|
|
88
|
-
this.dispatch("swap", { route, txHash });
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Dispatch event when user changes chain/token
|
|
92
|
-
* @param swapParams
|
|
93
|
-
*/
|
|
94
|
-
dispatchSwapParamsChanged(swapParams) {
|
|
95
|
-
this.dispatch("swapParamsChanged", { ...swapParams });
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Dispatch event when we are waiting for the user to sign the swap transaction
|
|
99
|
-
* @param data
|
|
100
|
-
*/
|
|
101
|
-
dispatchSwapTxSignatureRequested(data) {
|
|
102
|
-
this.dispatch("swapTxSignatureRequested", data);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Dispatch event when there's an error while executing the swap route
|
|
106
|
-
* @param data
|
|
107
|
-
*/
|
|
108
|
-
dispatchSwapRouteExecutionError(data) {
|
|
109
|
-
this.dispatch("swapRouteExecutionError", data);
|
|
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
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=eventService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eventService.js","sourceRoot":"","sources":["../../../src/services/internal/eventService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { isAddress as isEvmAddress, } from "viem";
|
|
2
|
-
export const EvmNetworkNotSupportedErrorCode = 4902;
|
|
3
|
-
export async function addEthereumChain({ chain, provider, }) {
|
|
4
|
-
const chainName = chain.rpc.includes("tenderly")
|
|
5
|
-
? `${chain.networkName} Tenderly fork`
|
|
6
|
-
: chain.networkName;
|
|
7
|
-
const chainParameters = {
|
|
8
|
-
chainId: `0x${parseInt(chain.chainId, 10).toString(16)}`,
|
|
9
|
-
chainName,
|
|
10
|
-
nativeCurrency: chain.nativeCurrency,
|
|
11
|
-
rpcUrls: [chain.rpc],
|
|
12
|
-
blockExplorerUrls: chain.blockExplorerUrls,
|
|
13
|
-
iconUrls: [chain.chainIconURI],
|
|
14
|
-
};
|
|
15
|
-
try {
|
|
16
|
-
return provider.request({
|
|
17
|
-
method: "wallet_addEthereumChain",
|
|
18
|
-
params: [chainParameters],
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
console.debug("Error adding chain:", error);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export const connectEvmWallet = async (wallet, { connectEvmAsync, }) => {
|
|
26
|
-
if (!wallet.connector) {
|
|
27
|
-
throw new Error("Wallet connector is undefined");
|
|
28
|
-
}
|
|
29
|
-
const evmConnectionResult = await connectEvmAsync({
|
|
30
|
-
connector: wallet.connector(),
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
wallet,
|
|
34
|
-
address: evmConnectionResult.accounts?.[0] ?? "",
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
export const parseEvmAddress = (address) => {
|
|
38
|
-
if (address && isEvmAddress(address)) {
|
|
39
|
-
return address;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=evmService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evmService.js","sourceRoot":"","sources":["../../../src/services/internal/evmService.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,IAAI,YAAY,GAC1B,MAAM,MAAM,CAAC;AAKd,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,gBAAgB;QACtC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IACtB,MAAM,eAAe,GAA8B;QACjD,OAAO,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACxD,SAAS;QACT,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;KAC/B,CAAC;IAEF,IAAI;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,CAAC,eAAe,CAAC;SAC1B,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAiB,EACjB,EACE,eAAe,GAGhB,EACmD,EAAE;IACtD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IAED,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAA2B,EACH,EAAE;IAC1B,IAAI,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;QACpC,OAAO,OAAqB,CAAC;KAC9B;AACH,CAAC,CAAC"}
|