@lifi/sdk 3.0.2-beta.0 → 3.1.0-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/package.json +3 -3
- package/src/_cjs/core/EVM/EVMStepExecutor.js +12 -11
- package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_cjs/core/EVM/checkAllowance.js +3 -4
- package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/multisig.js +4 -3
- package/src/_cjs/core/EVM/multisig.js.map +1 -1
- package/src/_cjs/core/EVM/parseEVMErrors.js +38 -0
- package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -0
- package/src/_cjs/core/EVM/publicClient.js +8 -3
- package/src/_cjs/core/EVM/publicClient.js.map +1 -1
- package/src/_cjs/core/EVM/switchChain.js +4 -3
- package/src/_cjs/core/EVM/switchChain.js.map +1 -1
- package/src/_cjs/core/Solana/SolanaStepExecutor.js +42 -24
- package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_cjs/core/Solana/connection.js.map +1 -1
- package/src/_cjs/core/Solana/parseSolanaErrors.js +33 -0
- package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -0
- package/src/_cjs/core/checkBalance.js +2 -2
- package/src/_cjs/core/checkBalance.js.map +1 -1
- package/src/_cjs/core/stepComparison.js +3 -3
- package/src/_cjs/core/stepComparison.js.map +1 -1
- package/src/_cjs/core/waitForReceivingTransaction.js +1 -1
- package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
- package/src/_cjs/errors/SDKError.js +48 -0
- package/src/_cjs/errors/SDKError.js.map +1 -0
- package/src/_cjs/errors/baseError.js +30 -0
- package/src/_cjs/errors/baseError.js.map +1 -0
- package/src/_cjs/errors/constants.js +48 -0
- package/src/_cjs/errors/constants.js.map +1 -0
- package/src/_cjs/errors/errors.js +48 -0
- package/src/_cjs/errors/errors.js.map +1 -0
- package/src/_cjs/errors/httpError.js +101 -0
- package/src/_cjs/errors/httpError.js.map +1 -0
- package/src/_cjs/errors/index.js +11 -0
- package/src/_cjs/errors/index.js.map +1 -0
- package/src/_cjs/errors/utils/baseErrorRootCause.js +21 -0
- package/src/_cjs/errors/utils/baseErrorRootCause.js.map +1 -0
- package/src/_cjs/errors/utils/rootCause.js +12 -0
- package/src/_cjs/errors/utils/rootCause.js.map +1 -0
- package/src/_cjs/helpers.js +13 -8
- package/src/_cjs/helpers.js.map +1 -1
- package/src/_cjs/index.js +2 -4
- package/src/_cjs/index.js.map +1 -1
- package/src/_cjs/request.js +37 -34
- package/src/_cjs/request.js.map +1 -1
- package/src/_cjs/services/api.js +61 -132
- package/src/_cjs/services/api.js.map +1 -1
- package/src/_cjs/services/balance.js +1 -1
- package/src/_cjs/services/balance.js.map +1 -1
- package/src/_cjs/types/request.js +3 -0
- package/src/_cjs/types/request.js.map +1 -0
- package/src/_cjs/utils/errors.js +0 -183
- package/src/_cjs/utils/errors.js.map +1 -1
- package/src/_cjs/utils/index.js +1 -2
- package/src/_cjs/utils/index.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_esm/core/EVM/EVMStepExecutor.js +8 -7
- package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_esm/core/EVM/checkAllowance.js +3 -4
- package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
- package/src/_esm/core/EVM/multisig.js +2 -1
- package/src/_esm/core/EVM/multisig.js.map +1 -1
- package/src/_esm/core/EVM/parseEVMErrors.js +35 -0
- package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -0
- package/src/_esm/core/EVM/publicClient.js +9 -4
- package/src/_esm/core/EVM/publicClient.js.map +1 -1
- package/src/_esm/core/EVM/switchChain.js +2 -1
- package/src/_esm/core/EVM/switchChain.js.map +1 -1
- package/src/_esm/core/Solana/SolanaStepExecutor.js +52 -25
- package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_esm/core/Solana/connection.js +2 -3
- package/src/_esm/core/Solana/connection.js.map +1 -1
- package/src/_esm/core/Solana/parseSolanaErrors.js +29 -0
- package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -0
- package/src/_esm/core/checkBalance.js +2 -2
- package/src/_esm/core/checkBalance.js.map +1 -1
- package/src/_esm/core/stepComparison.js +3 -3
- package/src/_esm/core/stepComparison.js.map +1 -1
- package/src/_esm/core/waitForReceivingTransaction.js +1 -1
- package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
- package/src/_esm/errors/SDKError.js +47 -0
- package/src/_esm/errors/SDKError.js.map +1 -0
- package/src/_esm/errors/baseError.js +28 -0
- package/src/_esm/errors/baseError.js.map +1 -0
- package/src/_esm/errors/constants.js +45 -0
- package/src/_esm/errors/constants.js.map +1 -0
- package/src/_esm/errors/errors.js +38 -0
- package/src/_esm/errors/errors.js.map +1 -0
- package/src/_esm/errors/httpError.js +97 -0
- package/src/_esm/errors/httpError.js.map +1 -0
- package/src/_esm/errors/index.js +8 -0
- package/src/_esm/errors/index.js.map +1 -0
- package/src/_esm/errors/utils/baseErrorRootCause.js +16 -0
- package/src/_esm/errors/utils/baseErrorRootCause.js.map +1 -0
- package/src/_esm/errors/utils/rootCause.js +8 -0
- package/src/_esm/errors/utils/rootCause.js.map +1 -0
- package/src/_esm/helpers.js +16 -9
- package/src/_esm/helpers.js.map +1 -1
- package/src/_esm/index.js +2 -2
- package/src/_esm/index.js.map +1 -1
- package/src/_esm/request.js +38 -35
- package/src/_esm/request.js.map +1 -1
- package/src/_esm/services/api.js +61 -133
- package/src/_esm/services/api.js.map +1 -1
- package/src/_esm/services/balance.js +4 -4
- package/src/_esm/services/balance.js.map +1 -1
- package/src/_esm/types/request.js +2 -0
- package/src/_esm/types/request.js.map +1 -0
- package/src/_esm/utils/errors.js +1 -173
- package/src/_esm/utils/errors.js.map +1 -1
- package/src/_esm/utils/index.js +1 -2
- package/src/_esm/utils/index.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
- package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/multisig.d.ts.map +1 -1
- package/src/_types/core/EVM/parseEVMErrors.d.ts +4 -0
- package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -0
- package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
- package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
- package/src/_types/core/Solana/connection.d.ts +2 -3
- package/src/_types/core/Solana/connection.d.ts.map +1 -1
- package/src/_types/core/Solana/parseSolanaErrors.d.ts +4 -0
- package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -0
- package/src/_types/core/stepComparison.d.ts.map +1 -1
- package/src/_types/errors/SDKError.d.ts +12 -0
- package/src/_types/errors/SDKError.d.ts.map +1 -0
- package/src/_types/errors/baseError.d.ts +7 -0
- package/src/_types/errors/baseError.d.ts.map +1 -0
- package/src/_types/errors/constants.d.ts +43 -0
- package/src/_types/errors/constants.d.ts.map +1 -0
- package/src/_types/errors/errors.d.ts +24 -0
- package/src/_types/errors/errors.d.ts.map +1 -0
- package/src/_types/errors/httpError.d.ts +21 -0
- package/src/_types/errors/httpError.d.ts.map +1 -0
- package/src/_types/errors/index.d.ts +8 -0
- package/src/_types/errors/index.d.ts.map +1 -0
- package/src/_types/errors/utils/baseErrorRootCause.d.ts +4 -0
- package/src/_types/errors/utils/baseErrorRootCause.d.ts.map +1 -0
- package/src/_types/errors/utils/rootCause.d.ts +2 -0
- package/src/_types/errors/utils/rootCause.d.ts.map +1 -0
- package/src/_types/helpers.d.ts +5 -4
- package/src/_types/helpers.d.ts.map +1 -1
- package/src/_types/index.d.ts +2 -2
- package/src/_types/index.d.ts.map +1 -1
- package/src/_types/request.d.ts +1 -5
- package/src/_types/request.d.ts.map +1 -1
- package/src/_types/services/api.d.ts.map +1 -1
- package/src/_types/services/balance.d.ts +3 -3
- package/src/_types/types/request.d.ts +4 -0
- package/src/_types/types/request.d.ts.map +1 -0
- package/src/_types/utils/errors.d.ts +0 -109
- package/src/_types/utils/errors.d.ts.map +1 -1
- package/src/_types/utils/index.d.ts +1 -2
- package/src/_types/utils/index.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/core/EVM/EVMStepExecutor.ts +14 -12
- package/src/core/EVM/checkAllowance.ts +3 -4
- package/src/core/EVM/multisig.ts +2 -1
- package/src/core/EVM/parseEVMErrors.ts +60 -0
- package/src/core/EVM/publicClient.ts +9 -4
- package/src/core/EVM/switchChain.ts +2 -1
- package/src/core/Solana/SolanaStepExecutor.ts +67 -34
- package/src/core/Solana/connection.ts +2 -3
- package/src/core/Solana/parseSolanaErrors.ts +45 -0
- package/src/core/checkBalance.ts +2 -2
- package/src/core/stepComparison.ts +3 -4
- package/src/core/waitForReceivingTransaction.ts +1 -1
- package/src/errors/SDKError.ts +25 -0
- package/src/errors/baseError.ts +22 -0
- package/src/errors/constants.ts +45 -0
- package/src/errors/errors.ts +44 -0
- package/src/errors/httpError.ts +93 -0
- package/src/errors/index.ts +7 -0
- package/src/errors/utils/baseErrorRootCause.ts +18 -0
- package/src/errors/utils/rootCause.ts +7 -0
- package/src/helpers.ts +23 -16
- package/src/index.ts +2 -2
- package/src/request.ts +52 -38
- package/src/services/api.ts +109 -157
- package/src/services/balance.ts +4 -4
- package/src/types/request.ts +3 -0
- package/src/utils/errors.ts +0 -233
- package/src/utils/index.ts +1 -2
- package/src/version.ts +1 -1
- package/src/_cjs/utils/parseBackendError.js +0 -27
- package/src/_cjs/utils/parseBackendError.js.map +0 -1
- package/src/_cjs/utils/parseError.js +0 -69
- package/src/_cjs/utils/parseError.js.map +0 -1
- package/src/_esm/utils/parseBackendError.js +0 -24
- package/src/_esm/utils/parseBackendError.js.map +0 -1
- package/src/_esm/utils/parseError.js +0 -100
- package/src/_esm/utils/parseError.js.map +0 -1
- package/src/_types/utils/parseBackendError.d.ts +0 -3
- package/src/_types/utils/parseBackendError.d.ts.map +0 -1
- package/src/_types/utils/parseError.d.ts +0 -35
- package/src/_types/utils/parseError.d.ts.map +0 -1
- package/src/utils/parseBackendError.ts +0 -50
- package/src/utils/parseError.ts +0 -210
package/src/utils/errors.ts
CHANGED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
enum ErrorType {
|
|
2
|
-
RPCError = 'RPCError',
|
|
3
|
-
ProviderError = 'ProviderError',
|
|
4
|
-
ServerError = 'ServerError',
|
|
5
|
-
TransactionError = 'TransactionError',
|
|
6
|
-
ValidationError = 'ValidationError',
|
|
7
|
-
NotFoundError = 'NotFoundError',
|
|
8
|
-
UnknownError = 'UnknownError',
|
|
9
|
-
SlippageError = 'SlippageError',
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export enum LiFiErrorCode {
|
|
13
|
-
InternalError = 1000,
|
|
14
|
-
ValidationError = 1001,
|
|
15
|
-
TransactionUnderpriced = 1002,
|
|
16
|
-
TransactionFailed = 1003,
|
|
17
|
-
Timeout = 1004,
|
|
18
|
-
ProviderUnavailable = 1005,
|
|
19
|
-
NotFound = 1006,
|
|
20
|
-
ChainSwitchError = 1007,
|
|
21
|
-
TransactionUnprepared = 1008,
|
|
22
|
-
GasLimitError = 1009,
|
|
23
|
-
TransactionCanceled = 1010,
|
|
24
|
-
SlippageError = 1011,
|
|
25
|
-
SignatureRejected = 1012,
|
|
26
|
-
BalanceError = 1013,
|
|
27
|
-
AllowanceRequired = 1014,
|
|
28
|
-
InsufficientFunds = 1015,
|
|
29
|
-
ExchangeRateUpdateCanceled = 1016,
|
|
30
|
-
WalletChangedDuringExecution = 1017,
|
|
31
|
-
TransactionExpired = 1018,
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export enum EthersErrorType {
|
|
35
|
-
ActionRejected = 'ACTION_REJECTED',
|
|
36
|
-
CallExecption = 'CALL_EXCEPTION',
|
|
37
|
-
InsufficientFunds = 'INSUFFICIENT_FUNDS',
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export enum EthersErrorMessage {
|
|
41
|
-
ERC20Allowance = 'ERC20: transfer amount exceeds allowance',
|
|
42
|
-
LowGas = 'intrinsic gas too low',
|
|
43
|
-
OutOfGas = 'out of gas',
|
|
44
|
-
Underpriced = 'underpriced',
|
|
45
|
-
LowReplacementFee = 'replacement fee too low',
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export enum ErrorMessage {
|
|
49
|
-
UnknownError = 'Unknown error occurred.',
|
|
50
|
-
SlippageError = 'The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.',
|
|
51
|
-
GasLimitLow = 'Gas limit is too low.',
|
|
52
|
-
TransactionUnderpriced = 'Transaction is underpriced.',
|
|
53
|
-
Default = 'Something went wrong.',
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export enum MetaMaskRPCErrorCode {
|
|
57
|
-
invalidInput = -32000,
|
|
58
|
-
resourceNotFound = -32001,
|
|
59
|
-
resourceUnavailable = -32002,
|
|
60
|
-
transactionRejected = -32003,
|
|
61
|
-
methodNotSupported = -32004,
|
|
62
|
-
limitExceeded = -32005,
|
|
63
|
-
parse = -32700,
|
|
64
|
-
invalidRequest = -32600,
|
|
65
|
-
methodNotFound = -32601,
|
|
66
|
-
invalidParams = -32602,
|
|
67
|
-
internal = -32603,
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export enum MetaMaskProviderErrorCode {
|
|
71
|
-
userRejectedRequest = 4001,
|
|
72
|
-
unauthorized = 4100,
|
|
73
|
-
unsupportedMethod = 4200,
|
|
74
|
-
disconnected = 4900,
|
|
75
|
-
chainDisconnected = 4901,
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export type ErrorCode =
|
|
79
|
-
| LiFiErrorCode
|
|
80
|
-
| MetaMaskRPCErrorCode
|
|
81
|
-
| MetaMaskProviderErrorCode
|
|
82
|
-
|
|
83
|
-
export class LiFiError extends Error {
|
|
84
|
-
code: ErrorCode
|
|
85
|
-
htmlMessage?: string
|
|
86
|
-
|
|
87
|
-
constructor(
|
|
88
|
-
type: ErrorType,
|
|
89
|
-
code: number,
|
|
90
|
-
message: string,
|
|
91
|
-
htmlMessage?: string,
|
|
92
|
-
stack?: string
|
|
93
|
-
) {
|
|
94
|
-
super(message)
|
|
95
|
-
|
|
96
|
-
// Set the prototype explicitly: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
97
|
-
Object.setPrototypeOf(this, LiFiError.prototype)
|
|
98
|
-
|
|
99
|
-
this.code = code
|
|
100
|
-
|
|
101
|
-
// the name property is used by toString(). It is a string and we can't use our custom ErrorTypes, that's why we have to cast
|
|
102
|
-
this.name = type.toString()
|
|
103
|
-
|
|
104
|
-
this.htmlMessage = htmlMessage
|
|
105
|
-
|
|
106
|
-
// passing a stack allows us to preserve the stack from errors that we caught and just want to transform in one of our custom errors
|
|
107
|
-
if (stack) {
|
|
108
|
-
this.stack = stack
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export class RPCError extends LiFiError {
|
|
114
|
-
constructor(
|
|
115
|
-
code: ErrorCode,
|
|
116
|
-
message: string,
|
|
117
|
-
htmlMessage?: string,
|
|
118
|
-
stack?: string
|
|
119
|
-
) {
|
|
120
|
-
super(ErrorType.RPCError, code, message, htmlMessage, stack)
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export class ProviderError extends LiFiError {
|
|
125
|
-
constructor(
|
|
126
|
-
code: ErrorCode,
|
|
127
|
-
message: string,
|
|
128
|
-
htmlMessage?: string,
|
|
129
|
-
stack?: string
|
|
130
|
-
) {
|
|
131
|
-
super(ErrorType.ProviderError, code, message, htmlMessage, stack)
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
export class ServerError extends LiFiError {
|
|
136
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
137
|
-
super(
|
|
138
|
-
ErrorType.ServerError,
|
|
139
|
-
LiFiErrorCode.InternalError,
|
|
140
|
-
message,
|
|
141
|
-
htmlMessage,
|
|
142
|
-
stack
|
|
143
|
-
)
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export class ValidationError extends LiFiError {
|
|
148
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
149
|
-
super(
|
|
150
|
-
ErrorType.ValidationError,
|
|
151
|
-
LiFiErrorCode.ValidationError,
|
|
152
|
-
message,
|
|
153
|
-
htmlMessage,
|
|
154
|
-
stack
|
|
155
|
-
)
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export class TransactionError extends LiFiError {
|
|
160
|
-
constructor(
|
|
161
|
-
code: ErrorCode,
|
|
162
|
-
message: string,
|
|
163
|
-
htmlMessage?: string,
|
|
164
|
-
stack?: string
|
|
165
|
-
) {
|
|
166
|
-
super(ErrorType.TransactionError, code, message, htmlMessage, stack)
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
export class SlippageError extends LiFiError {
|
|
171
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
172
|
-
super(
|
|
173
|
-
ErrorType.SlippageError,
|
|
174
|
-
LiFiErrorCode.SlippageError,
|
|
175
|
-
message,
|
|
176
|
-
htmlMessage,
|
|
177
|
-
stack
|
|
178
|
-
)
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
export class BalanceError extends LiFiError {
|
|
183
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
184
|
-
super(
|
|
185
|
-
ErrorType.ValidationError,
|
|
186
|
-
LiFiErrorCode.BalanceError,
|
|
187
|
-
message,
|
|
188
|
-
htmlMessage,
|
|
189
|
-
stack
|
|
190
|
-
)
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export class NotFoundError extends LiFiError {
|
|
195
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
196
|
-
super(
|
|
197
|
-
ErrorType.NotFoundError,
|
|
198
|
-
LiFiErrorCode.NotFound,
|
|
199
|
-
message,
|
|
200
|
-
htmlMessage,
|
|
201
|
-
stack
|
|
202
|
-
)
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export class UnknownError extends LiFiError {
|
|
207
|
-
constructor(
|
|
208
|
-
code: ErrorCode,
|
|
209
|
-
message: string,
|
|
210
|
-
htmlMessage?: string,
|
|
211
|
-
stack?: string
|
|
212
|
-
) {
|
|
213
|
-
super(ErrorType.UnknownError, code, message, htmlMessage, stack)
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
export class HTTPError extends Error {
|
|
218
|
-
public response: Response
|
|
219
|
-
public status: number
|
|
220
|
-
|
|
221
|
-
constructor(response: Response) {
|
|
222
|
-
const code = response.status || response.status === 0 ? response.status : ''
|
|
223
|
-
const title = response.statusText || ''
|
|
224
|
-
const status = `${code} ${title}`.trim()
|
|
225
|
-
const reason = status ? `status code ${status}` : 'an unknown error'
|
|
226
|
-
|
|
227
|
-
super(`Request failed with ${reason}`)
|
|
228
|
-
|
|
229
|
-
this.name = 'HTTPError'
|
|
230
|
-
this.response = response
|
|
231
|
-
this.status = response.status
|
|
232
|
-
}
|
|
233
|
-
}
|
package/src/utils/index.ts
CHANGED
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '3.0
|
|
2
|
+
export const version = '3.1.0-beta.0'
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseBackendError = void 0;
|
|
4
|
-
const errors_js_1 = require("./errors.js");
|
|
5
|
-
const parseBackendError = async (e) => {
|
|
6
|
-
let data;
|
|
7
|
-
try {
|
|
8
|
-
data = await e.response?.json();
|
|
9
|
-
}
|
|
10
|
-
catch (error) {
|
|
11
|
-
}
|
|
12
|
-
if (e.response?.status === 400) {
|
|
13
|
-
return new errors_js_1.ValidationError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
14
|
-
}
|
|
15
|
-
if (e.response?.status === 404) {
|
|
16
|
-
return new errors_js_1.NotFoundError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
17
|
-
}
|
|
18
|
-
if (e.response?.status === 409) {
|
|
19
|
-
return new errors_js_1.SlippageError(data?.message || e.response?.statusText, errors_js_1.ErrorMessage.SlippageError, e.stack);
|
|
20
|
-
}
|
|
21
|
-
if (e.response?.status === 500) {
|
|
22
|
-
return new errors_js_1.ServerError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
23
|
-
}
|
|
24
|
-
return new errors_js_1.ServerError(errors_js_1.ErrorMessage.Default, undefined, e.stack);
|
|
25
|
-
};
|
|
26
|
-
exports.parseBackendError = parseBackendError;
|
|
27
|
-
//# sourceMappingURL=parseBackendError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseBackendError.js","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":";;;AACA,2CAMoB;AAEb,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAM,EAAsB,EAAE;IACpE,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;IAEjB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,2BAAe,CACxB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,yBAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,yBAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,wBAAY,CAAC,aAAa,EAC1B,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,uBAAW,CACpB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,OAAO,IAAI,uBAAW,CAAC,wBAAY,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC,CAAA;AAxCY,QAAA,iBAAiB,qBAwC7B"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseError = void 0;
|
|
4
|
-
const eth_rpc_errors_1 = require("eth-rpc-errors");
|
|
5
|
-
const helpers_js_1 = require("../helpers.js");
|
|
6
|
-
const errors_js_1 = require("./errors.js");
|
|
7
|
-
const getTransactionMessage_js_1 = require("./getTransactionMessage.js");
|
|
8
|
-
const parseError = async (e, step, process) => {
|
|
9
|
-
if (e instanceof errors_js_1.LiFiError) {
|
|
10
|
-
return e;
|
|
11
|
-
}
|
|
12
|
-
const errorCode = e.code || e.cause?.code;
|
|
13
|
-
switch (errorCode) {
|
|
14
|
-
case errors_js_1.EthersErrorType.CallExecption:
|
|
15
|
-
const defaultErrorMessage = await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process);
|
|
16
|
-
try {
|
|
17
|
-
if (!step?.action.fromChainId) {
|
|
18
|
-
throw new Error('fromChainId is not defined.');
|
|
19
|
-
}
|
|
20
|
-
const response = await (0, helpers_js_1.fetchTxErrorDetails)(e.transactionHash, step?.action.fromChainId);
|
|
21
|
-
const errorMessage = response?.error_message ?? e.reason;
|
|
22
|
-
const isAllowanceError = response?.error_message?.includes(errors_js_1.EthersErrorMessage.ERC20Allowance) || e.reason?.includes(errors_js_1.EthersErrorMessage.ERC20Allowance);
|
|
23
|
-
if (isAllowanceError) {
|
|
24
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.AllowanceRequired, e.reason, errorMessage, e.stack);
|
|
25
|
-
}
|
|
26
|
-
throw new Error(e);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
return new errors_js_1.ProviderError(errors_js_1.LiFiErrorCode.TransactionFailed, e.reason, defaultErrorMessage, e.stack);
|
|
30
|
-
}
|
|
31
|
-
case errors_js_1.EthersErrorType.InsufficientFunds:
|
|
32
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.InsufficientFunds, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
33
|
-
case errors_js_1.EthersErrorType.ActionRejected:
|
|
34
|
-
case errors_js_1.MetaMaskProviderErrorCode.userRejectedRequest:
|
|
35
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.SignatureRejected, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
36
|
-
case errors_js_1.LiFiErrorCode.TransactionUnprepared:
|
|
37
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.TransactionUnprepared, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
38
|
-
case errors_js_1.LiFiErrorCode.ValidationError:
|
|
39
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ValidationError, e.message, e.htmlMessage);
|
|
40
|
-
case errors_js_1.LiFiErrorCode.TransactionCanceled:
|
|
41
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.TransactionCanceled, e.message, e.htmlMessage);
|
|
42
|
-
case errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled:
|
|
43
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, e.message, e.htmlMessage);
|
|
44
|
-
case errors_js_1.LiFiErrorCode.WalletChangedDuringExecution:
|
|
45
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.WalletChangedDuringExecution, e.message, e.htmlMessage);
|
|
46
|
-
default: {
|
|
47
|
-
if (errorCode && typeof errorCode === 'number') {
|
|
48
|
-
if (Object.values(eth_rpc_errors_1.errorCodes.rpc).includes(errorCode)) {
|
|
49
|
-
if (errorCode === eth_rpc_errors_1.errorCodes.rpc.internal &&
|
|
50
|
-
(e.message?.includes(errors_js_1.EthersErrorMessage.Underpriced) ||
|
|
51
|
-
e.message?.includes(errors_js_1.EthersErrorMessage.LowReplacementFee))) {
|
|
52
|
-
return new errors_js_1.RPCError(errors_js_1.LiFiErrorCode.TransactionUnderpriced, errors_js_1.ErrorMessage.TransactionUnderpriced, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
53
|
-
}
|
|
54
|
-
if (e.message?.includes(errors_js_1.EthersErrorMessage.LowGas) ||
|
|
55
|
-
e.message?.includes(errors_js_1.EthersErrorMessage.OutOfGas)) {
|
|
56
|
-
return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.GasLimitError, errors_js_1.ErrorMessage.GasLimitLow, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
57
|
-
}
|
|
58
|
-
return new errors_js_1.RPCError(errorCode, (0, eth_rpc_errors_1.getMessageFromCode)(errorCode), await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
59
|
-
}
|
|
60
|
-
if (Object.values(eth_rpc_errors_1.errorCodes.provider).includes(errorCode)) {
|
|
61
|
-
return new errors_js_1.ProviderError(errorCode, (0, eth_rpc_errors_1.getMessageFromCode)(errorCode), await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return new errors_js_1.UnknownError(errors_js_1.LiFiErrorCode.InternalError, e.message || errors_js_1.ErrorMessage.UnknownError, undefined, e.stack);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.parseError = parseError;
|
|
69
|
-
//# sourceMappingURL=parseError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseError.js","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ErrorMessage, NotFoundError, ServerError, SlippageError, ValidationError, } from './errors.js';
|
|
2
|
-
export const parseBackendError = async (e) => {
|
|
3
|
-
let data;
|
|
4
|
-
try {
|
|
5
|
-
data = await e.response?.json();
|
|
6
|
-
}
|
|
7
|
-
catch (error) {
|
|
8
|
-
// ignore
|
|
9
|
-
}
|
|
10
|
-
if (e.response?.status === 400) {
|
|
11
|
-
return new ValidationError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
12
|
-
}
|
|
13
|
-
if (e.response?.status === 404) {
|
|
14
|
-
return new NotFoundError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
15
|
-
}
|
|
16
|
-
if (e.response?.status === 409) {
|
|
17
|
-
return new SlippageError(data?.message || e.response?.statusText, ErrorMessage.SlippageError, e.stack);
|
|
18
|
-
}
|
|
19
|
-
if (e.response?.status === 500) {
|
|
20
|
-
return new ServerError(data?.message || e.response?.statusText, undefined, e.stack);
|
|
21
|
-
}
|
|
22
|
-
return new ServerError(ErrorMessage.Default, undefined, e.stack);
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=parseBackendError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseBackendError.js","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAM,EAAsB,EAAE;IACpE,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS;IACX,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,eAAe,CACxB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,aAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,aAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,YAAY,CAAC,aAAa,EAC1B,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,WAAW,CACpB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC,CAAA"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { errorCodes as MetaMaskErrorCodes, getMessageFromCode, } from 'eth-rpc-errors';
|
|
2
|
-
import { fetchTxErrorDetails } from '../helpers.js';
|
|
3
|
-
import { ErrorMessage, EthersErrorMessage, EthersErrorType, LiFiError, LiFiErrorCode, MetaMaskProviderErrorCode, ProviderError, RPCError, TransactionError, UnknownError, } from './errors.js';
|
|
4
|
-
import { getTransactionNotSentMessage } from './getTransactionMessage.js';
|
|
5
|
-
/**
|
|
6
|
-
* Available MetaMask error codes:
|
|
7
|
-
*
|
|
8
|
-
* export const errorCodes: ErrorCodes = {
|
|
9
|
-
rpc: {
|
|
10
|
-
invalidInput: -32000,
|
|
11
|
-
resourceNotFound: -32001,
|
|
12
|
-
resourceUnavailable: -32002,
|
|
13
|
-
transactionRejected: -32003,
|
|
14
|
-
methodNotSupported: -32004,
|
|
15
|
-
limitExceeded: -32005,
|
|
16
|
-
parse: -32700,
|
|
17
|
-
invalidRequest: -32600,
|
|
18
|
-
methodNotFound: -32601,
|
|
19
|
-
invalidParams: -32602,
|
|
20
|
-
internal: -32603,
|
|
21
|
-
},
|
|
22
|
-
provider: {
|
|
23
|
-
userRejectedRequest: 4001,
|
|
24
|
-
unauthorized: 4100,
|
|
25
|
-
unsupportedMethod: 4200,
|
|
26
|
-
disconnected: 4900,
|
|
27
|
-
chainDisconnected: 4901,
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
*
|
|
31
|
-
* For more information about error codes supported by metamask check
|
|
32
|
-
* https://github.com/MetaMask/eth-rpc-errors
|
|
33
|
-
* https://eips.ethereum.org/EIPS/eip-1474#error-codes
|
|
34
|
-
* https://eips.ethereum.org/EIPS/eip-1193#provider-errors
|
|
35
|
-
*/
|
|
36
|
-
export const parseError = async (e, step, process) => {
|
|
37
|
-
if (e instanceof LiFiError) {
|
|
38
|
-
return e;
|
|
39
|
-
}
|
|
40
|
-
const errorCode = e.code || e.cause?.code;
|
|
41
|
-
switch (errorCode) {
|
|
42
|
-
case EthersErrorType.CallExecption:
|
|
43
|
-
const defaultErrorMessage = await getTransactionNotSentMessage(step, process);
|
|
44
|
-
try {
|
|
45
|
-
if (!step?.action.fromChainId) {
|
|
46
|
-
throw new Error('fromChainId is not defined.');
|
|
47
|
-
}
|
|
48
|
-
const response = await fetchTxErrorDetails(e.transactionHash, step?.action.fromChainId);
|
|
49
|
-
const errorMessage = response?.error_message ?? e.reason;
|
|
50
|
-
const isAllowanceError = response?.error_message?.includes(EthersErrorMessage.ERC20Allowance) || e.reason?.includes(EthersErrorMessage.ERC20Allowance);
|
|
51
|
-
if (isAllowanceError) {
|
|
52
|
-
return new TransactionError(LiFiErrorCode.AllowanceRequired, e.reason, errorMessage, e.stack);
|
|
53
|
-
}
|
|
54
|
-
// Error messages other than allowance error will be handled in catch block
|
|
55
|
-
throw new Error(e);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
return new ProviderError(LiFiErrorCode.TransactionFailed, e.reason, defaultErrorMessage, e.stack);
|
|
59
|
-
}
|
|
60
|
-
case EthersErrorType.InsufficientFunds:
|
|
61
|
-
return new TransactionError(LiFiErrorCode.InsufficientFunds, e.message, await getTransactionNotSentMessage(step, process), e.stack);
|
|
62
|
-
case EthersErrorType.ActionRejected:
|
|
63
|
-
case MetaMaskProviderErrorCode.userRejectedRequest:
|
|
64
|
-
return new TransactionError(LiFiErrorCode.SignatureRejected, e.message, await getTransactionNotSentMessage(step, process), e.stack);
|
|
65
|
-
case LiFiErrorCode.TransactionUnprepared:
|
|
66
|
-
return new TransactionError(LiFiErrorCode.TransactionUnprepared, e.message, await getTransactionNotSentMessage(step, process), e.stack);
|
|
67
|
-
case LiFiErrorCode.ValidationError:
|
|
68
|
-
return new TransactionError(LiFiErrorCode.ValidationError, e.message, e.htmlMessage);
|
|
69
|
-
case LiFiErrorCode.TransactionCanceled:
|
|
70
|
-
return new TransactionError(LiFiErrorCode.TransactionCanceled, e.message, e.htmlMessage);
|
|
71
|
-
case LiFiErrorCode.ExchangeRateUpdateCanceled:
|
|
72
|
-
return new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, e.message, e.htmlMessage);
|
|
73
|
-
case LiFiErrorCode.WalletChangedDuringExecution:
|
|
74
|
-
return new TransactionError(LiFiErrorCode.WalletChangedDuringExecution, e.message, e.htmlMessage);
|
|
75
|
-
default: {
|
|
76
|
-
if (errorCode && typeof errorCode === 'number') {
|
|
77
|
-
if (Object.values(MetaMaskErrorCodes.rpc).includes(errorCode)) {
|
|
78
|
-
// rpc errors
|
|
79
|
-
// underpriced errors are sent as internal errors, so we need to parse the message manually
|
|
80
|
-
if (errorCode === MetaMaskErrorCodes.rpc.internal &&
|
|
81
|
-
(e.message?.includes(EthersErrorMessage.Underpriced) ||
|
|
82
|
-
e.message?.includes(EthersErrorMessage.LowReplacementFee))) {
|
|
83
|
-
return new RPCError(LiFiErrorCode.TransactionUnderpriced, ErrorMessage.TransactionUnderpriced, await getTransactionNotSentMessage(step, process), e.stack);
|
|
84
|
-
}
|
|
85
|
-
if (e.message?.includes(EthersErrorMessage.LowGas) ||
|
|
86
|
-
e.message?.includes(EthersErrorMessage.OutOfGas)) {
|
|
87
|
-
return new TransactionError(LiFiErrorCode.GasLimitError, ErrorMessage.GasLimitLow, await getTransactionNotSentMessage(step, process), e.stack);
|
|
88
|
-
}
|
|
89
|
-
return new RPCError(errorCode, getMessageFromCode(errorCode), await getTransactionNotSentMessage(step, process), e.stack);
|
|
90
|
-
}
|
|
91
|
-
// provider errors
|
|
92
|
-
if (Object.values(MetaMaskErrorCodes.provider).includes(errorCode)) {
|
|
93
|
-
return new ProviderError(errorCode, getMessageFromCode(errorCode), await getTransactionNotSentMessage(step, process), e.stack);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return new UnknownError(LiFiErrorCode.InternalError, e.message || ErrorMessage.UnknownError, undefined, e.stack);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=parseError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseError.js","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseBackendError.d.ts","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAS5C,eAAO,MAAM,iBAAiB,MAAa,GAAG,KAAG,OAAO,CAAC,SAAS,CAwCjE,CAAA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { LiFiStep, Process } from '@lifi/types';
|
|
2
|
-
import { LiFiError } from './errors.js';
|
|
3
|
-
/**
|
|
4
|
-
* Available MetaMask error codes:
|
|
5
|
-
*
|
|
6
|
-
* export const errorCodes: ErrorCodes = {
|
|
7
|
-
rpc: {
|
|
8
|
-
invalidInput: -32000,
|
|
9
|
-
resourceNotFound: -32001,
|
|
10
|
-
resourceUnavailable: -32002,
|
|
11
|
-
transactionRejected: -32003,
|
|
12
|
-
methodNotSupported: -32004,
|
|
13
|
-
limitExceeded: -32005,
|
|
14
|
-
parse: -32700,
|
|
15
|
-
invalidRequest: -32600,
|
|
16
|
-
methodNotFound: -32601,
|
|
17
|
-
invalidParams: -32602,
|
|
18
|
-
internal: -32603,
|
|
19
|
-
},
|
|
20
|
-
provider: {
|
|
21
|
-
userRejectedRequest: 4001,
|
|
22
|
-
unauthorized: 4100,
|
|
23
|
-
unsupportedMethod: 4200,
|
|
24
|
-
disconnected: 4900,
|
|
25
|
-
chainDisconnected: 4901,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
*
|
|
29
|
-
* For more information about error codes supported by metamask check
|
|
30
|
-
* https://github.com/MetaMask/eth-rpc-errors
|
|
31
|
-
* https://eips.ethereum.org/EIPS/eip-1474#error-codes
|
|
32
|
-
* https://eips.ethereum.org/EIPS/eip-1193#provider-errors
|
|
33
|
-
*/
|
|
34
|
-
export declare const parseError: (e: any, step?: LiFiStep, process?: Process) => Promise<LiFiError>;
|
|
35
|
-
//# sourceMappingURL=parseError.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseError.d.ts","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAMpD,OAAO,EAIL,SAAS,EAOV,MAAM,aAAa,CAAA;AAGpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,eAAO,MAAM,UAAU,MAClB,GAAG,SACC,QAAQ,YACL,OAAO,KAChB,OAAO,CAAC,SAAS,CAyJnB,CAAA"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { LiFiError } from './errors.js'
|
|
2
|
-
import {
|
|
3
|
-
ErrorMessage,
|
|
4
|
-
NotFoundError,
|
|
5
|
-
ServerError,
|
|
6
|
-
SlippageError,
|
|
7
|
-
ValidationError,
|
|
8
|
-
} from './errors.js'
|
|
9
|
-
|
|
10
|
-
export const parseBackendError = async (e: any): Promise<LiFiError> => {
|
|
11
|
-
let data
|
|
12
|
-
try {
|
|
13
|
-
data = await e.response?.json()
|
|
14
|
-
} catch (error) {
|
|
15
|
-
// ignore
|
|
16
|
-
}
|
|
17
|
-
if (e.response?.status === 400) {
|
|
18
|
-
return new ValidationError(
|
|
19
|
-
data?.message || e.response?.statusText,
|
|
20
|
-
undefined,
|
|
21
|
-
e.stack
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if (e.response?.status === 404) {
|
|
26
|
-
return new NotFoundError(
|
|
27
|
-
data?.message || e.response?.statusText,
|
|
28
|
-
undefined,
|
|
29
|
-
e.stack
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (e.response?.status === 409) {
|
|
34
|
-
return new SlippageError(
|
|
35
|
-
data?.message || e.response?.statusText,
|
|
36
|
-
ErrorMessage.SlippageError,
|
|
37
|
-
e.stack
|
|
38
|
-
)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (e.response?.status === 500) {
|
|
42
|
-
return new ServerError(
|
|
43
|
-
data?.message || e.response?.statusText,
|
|
44
|
-
undefined,
|
|
45
|
-
e.stack
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return new ServerError(ErrorMessage.Default, undefined, e.stack)
|
|
50
|
-
}
|