@lifi/sdk 3.0.1 → 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 +4 -4
- package/src/_cjs/constants.js +2 -1
- package/src/_cjs/constants.js.map +1 -1
- package/src/_cjs/core/EVM/EVMStepExecutor.js +16 -15
- 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 +54 -32
- 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/getSolanaBalance.js +1 -2
- package/src/_cjs/core/Solana/getSolanaBalance.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/StatusManager.js +3 -3
- package/src/_cjs/core/StatusManager.js.map +1 -1
- package/src/_cjs/core/checkBalance.js +4 -5
- package/src/_cjs/core/checkBalance.js.map +1 -1
- package/src/_cjs/core/processMessages.js +61 -0
- package/src/_cjs/core/processMessages.js.map +1 -0
- package/src/_cjs/core/stepComparison.js +3 -3
- package/src/_cjs/core/stepComparison.js.map +1 -1
- package/src/_cjs/core/utils.js +6 -58
- package/src/_cjs/core/utils.js.map +1 -1
- package/src/_cjs/core/waitForReceivingTransaction.js +3 -3
- 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 -182
- 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/_cjs/version.js.map +1 -1
- package/src/_esm/constants.js +1 -0
- package/src/_esm/constants.js.map +1 -1
- package/src/_esm/core/EVM/EVMStepExecutor.js +9 -8
- 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 +67 -36
- 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/getSolanaBalance.js +2 -3
- package/src/_esm/core/Solana/getSolanaBalance.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/StatusManager.js +1 -1
- package/src/_esm/core/StatusManager.js.map +1 -1
- package/src/_esm/core/checkBalance.js +4 -5
- package/src/_esm/core/checkBalance.js.map +1 -1
- package/src/_esm/core/processMessages.js +58 -0
- package/src/_esm/core/processMessages.js.map +1 -0
- package/src/_esm/core/stepComparison.js +3 -3
- package/src/_esm/core/stepComparison.js.map +1 -1
- package/src/_esm/core/utils.js +7 -58
- package/src/_esm/core/utils.js.map +1 -1
- package/src/_esm/core/waitForReceivingTransaction.js +2 -2
- 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 -172
- 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/_esm/version.js.map +1 -1
- package/src/_types/constants.d.ts +1 -0
- package/src/_types/constants.d.ts.map +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/StatusManager.d.ts.map +1 -1
- package/src/_types/core/checkBalance.d.ts.map +1 -1
- package/src/_types/core/processMessages.d.ts +4 -0
- package/src/_types/core/processMessages.d.ts.map +1 -0
- package/src/_types/core/stepComparison.d.ts.map +1 -1
- package/src/_types/core/utils.d.ts +4 -5
- package/src/_types/core/utils.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 -108
- 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/_types/version.d.ts.map +1 -1
- package/src/constants.ts +1 -0
- package/src/core/EVM/EVMStepExecutor.ts +15 -13
- 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 +92 -52
- package/src/core/Solana/connection.ts +2 -3
- package/src/core/Solana/getSolanaBalance.ts +2 -3
- package/src/core/Solana/parseSolanaErrors.ts +45 -0
- package/src/core/StatusManager.ts +1 -1
- package/src/core/checkBalance.ts +4 -5
- package/src/core/processMessages.ts +81 -0
- package/src/core/stepComparison.ts +3 -4
- package/src/core/utils.ts +9 -84
- package/src/core/waitForReceivingTransaction.ts +2 -2
- 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 -232
- 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,232 +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
|
-
}
|
|
32
|
-
|
|
33
|
-
export enum EthersErrorType {
|
|
34
|
-
ActionRejected = 'ACTION_REJECTED',
|
|
35
|
-
CallExecption = 'CALL_EXCEPTION',
|
|
36
|
-
InsufficientFunds = 'INSUFFICIENT_FUNDS',
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export enum EthersErrorMessage {
|
|
40
|
-
ERC20Allowance = 'ERC20: transfer amount exceeds allowance',
|
|
41
|
-
LowGas = 'intrinsic gas too low',
|
|
42
|
-
OutOfGas = 'out of gas',
|
|
43
|
-
Underpriced = 'underpriced',
|
|
44
|
-
LowReplacementFee = 'replacement fee too low',
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export enum ErrorMessage {
|
|
48
|
-
UnknownError = 'Unknown error occurred.',
|
|
49
|
-
SlippageError = 'The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.',
|
|
50
|
-
GasLimitLow = 'Gas limit is too low.',
|
|
51
|
-
TransactionUnderpriced = 'Transaction is underpriced.',
|
|
52
|
-
Default = 'Something went wrong.',
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export enum MetaMaskRPCErrorCode {
|
|
56
|
-
invalidInput = -32000,
|
|
57
|
-
resourceNotFound = -32001,
|
|
58
|
-
resourceUnavailable = -32002,
|
|
59
|
-
transactionRejected = -32003,
|
|
60
|
-
methodNotSupported = -32004,
|
|
61
|
-
limitExceeded = -32005,
|
|
62
|
-
parse = -32700,
|
|
63
|
-
invalidRequest = -32600,
|
|
64
|
-
methodNotFound = -32601,
|
|
65
|
-
invalidParams = -32602,
|
|
66
|
-
internal = -32603,
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export enum MetaMaskProviderErrorCode {
|
|
70
|
-
userRejectedRequest = 4001,
|
|
71
|
-
unauthorized = 4100,
|
|
72
|
-
unsupportedMethod = 4200,
|
|
73
|
-
disconnected = 4900,
|
|
74
|
-
chainDisconnected = 4901,
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export type ErrorCode =
|
|
78
|
-
| LiFiErrorCode
|
|
79
|
-
| MetaMaskRPCErrorCode
|
|
80
|
-
| MetaMaskProviderErrorCode
|
|
81
|
-
|
|
82
|
-
export class LiFiError extends Error {
|
|
83
|
-
code: ErrorCode
|
|
84
|
-
htmlMessage?: string
|
|
85
|
-
|
|
86
|
-
constructor(
|
|
87
|
-
type: ErrorType,
|
|
88
|
-
code: number,
|
|
89
|
-
message: string,
|
|
90
|
-
htmlMessage?: string,
|
|
91
|
-
stack?: string
|
|
92
|
-
) {
|
|
93
|
-
super(message)
|
|
94
|
-
|
|
95
|
-
// Set the prototype explicitly: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
|
|
96
|
-
Object.setPrototypeOf(this, LiFiError.prototype)
|
|
97
|
-
|
|
98
|
-
this.code = code
|
|
99
|
-
|
|
100
|
-
// 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
|
|
101
|
-
this.name = type.toString()
|
|
102
|
-
|
|
103
|
-
this.htmlMessage = htmlMessage
|
|
104
|
-
|
|
105
|
-
// 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
|
|
106
|
-
if (stack) {
|
|
107
|
-
this.stack = stack
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export class RPCError extends LiFiError {
|
|
113
|
-
constructor(
|
|
114
|
-
code: ErrorCode,
|
|
115
|
-
message: string,
|
|
116
|
-
htmlMessage?: string,
|
|
117
|
-
stack?: string
|
|
118
|
-
) {
|
|
119
|
-
super(ErrorType.RPCError, code, message, htmlMessage, stack)
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export class ProviderError extends LiFiError {
|
|
124
|
-
constructor(
|
|
125
|
-
code: ErrorCode,
|
|
126
|
-
message: string,
|
|
127
|
-
htmlMessage?: string,
|
|
128
|
-
stack?: string
|
|
129
|
-
) {
|
|
130
|
-
super(ErrorType.ProviderError, code, message, htmlMessage, stack)
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export class ServerError extends LiFiError {
|
|
135
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
136
|
-
super(
|
|
137
|
-
ErrorType.ServerError,
|
|
138
|
-
LiFiErrorCode.InternalError,
|
|
139
|
-
message,
|
|
140
|
-
htmlMessage,
|
|
141
|
-
stack
|
|
142
|
-
)
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
export class ValidationError extends LiFiError {
|
|
147
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
148
|
-
super(
|
|
149
|
-
ErrorType.ValidationError,
|
|
150
|
-
LiFiErrorCode.ValidationError,
|
|
151
|
-
message,
|
|
152
|
-
htmlMessage,
|
|
153
|
-
stack
|
|
154
|
-
)
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export class TransactionError extends LiFiError {
|
|
159
|
-
constructor(
|
|
160
|
-
code: ErrorCode,
|
|
161
|
-
message: string,
|
|
162
|
-
htmlMessage?: string,
|
|
163
|
-
stack?: string
|
|
164
|
-
) {
|
|
165
|
-
super(ErrorType.TransactionError, code, message, htmlMessage, stack)
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export class SlippageError extends LiFiError {
|
|
170
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
171
|
-
super(
|
|
172
|
-
ErrorType.SlippageError,
|
|
173
|
-
LiFiErrorCode.SlippageError,
|
|
174
|
-
message,
|
|
175
|
-
htmlMessage,
|
|
176
|
-
stack
|
|
177
|
-
)
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export class BalanceError extends LiFiError {
|
|
182
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
183
|
-
super(
|
|
184
|
-
ErrorType.ValidationError,
|
|
185
|
-
LiFiErrorCode.BalanceError,
|
|
186
|
-
message,
|
|
187
|
-
htmlMessage,
|
|
188
|
-
stack
|
|
189
|
-
)
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export class NotFoundError extends LiFiError {
|
|
194
|
-
constructor(message: string, htmlMessage?: string, stack?: string) {
|
|
195
|
-
super(
|
|
196
|
-
ErrorType.NotFoundError,
|
|
197
|
-
LiFiErrorCode.NotFound,
|
|
198
|
-
message,
|
|
199
|
-
htmlMessage,
|
|
200
|
-
stack
|
|
201
|
-
)
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
export class UnknownError extends LiFiError {
|
|
206
|
-
constructor(
|
|
207
|
-
code: ErrorCode,
|
|
208
|
-
message: string,
|
|
209
|
-
htmlMessage?: string,
|
|
210
|
-
stack?: string
|
|
211
|
-
) {
|
|
212
|
-
super(ErrorType.UnknownError, code, message, htmlMessage, stack)
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export class HTTPError extends Error {
|
|
217
|
-
public response: Response
|
|
218
|
-
public status: number
|
|
219
|
-
|
|
220
|
-
constructor(response: Response) {
|
|
221
|
-
const code = response.status || response.status === 0 ? response.status : ''
|
|
222
|
-
const title = response.statusText || ''
|
|
223
|
-
const status = `${code} ${title}`.trim()
|
|
224
|
-
const reason = status ? `status code ${status}` : 'an unknown error'
|
|
225
|
-
|
|
226
|
-
super(`Request failed with ${reason}`)
|
|
227
|
-
|
|
228
|
-
this.name = 'HTTPError'
|
|
229
|
-
this.response = response
|
|
230
|
-
this.status = response.status
|
|
231
|
-
}
|
|
232
|
-
}
|
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
|
-
}
|