@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseError.js","sourceRoot":"","sources":["../../errors/baseError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,+EAA+E;AAC/E,qDAAqD;AACrD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAIlC,YAAY,IAAe,EAAE,IAAY,EAAE,OAAe,EAAE,KAAa;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QAJhB;;;;;WAAe;QACN;;;;;WAAa;QAKpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;QAC9B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export var ErrorName;
|
|
2
|
+
(function (ErrorName) {
|
|
3
|
+
ErrorName["RPCError"] = "RPCError";
|
|
4
|
+
ErrorName["ProviderError"] = "ProviderError";
|
|
5
|
+
ErrorName["ServerError"] = "ServerError";
|
|
6
|
+
ErrorName["TransactionError"] = "TransactionError";
|
|
7
|
+
ErrorName["ValidationError"] = "ValidationError";
|
|
8
|
+
ErrorName["BalanceError"] = "BalanceError";
|
|
9
|
+
ErrorName["NotFoundError"] = "NotFoundError";
|
|
10
|
+
ErrorName["UnknownError"] = "UnknownError";
|
|
11
|
+
ErrorName["SlippageError"] = "SlippageError";
|
|
12
|
+
ErrorName["HTTPError"] = "HTTPError";
|
|
13
|
+
})(ErrorName || (ErrorName = {}));
|
|
14
|
+
export var LiFiErrorCode;
|
|
15
|
+
(function (LiFiErrorCode) {
|
|
16
|
+
LiFiErrorCode[LiFiErrorCode["InternalError"] = 1000] = "InternalError";
|
|
17
|
+
LiFiErrorCode[LiFiErrorCode["ValidationError"] = 1001] = "ValidationError";
|
|
18
|
+
LiFiErrorCode[LiFiErrorCode["TransactionUnderpriced"] = 1002] = "TransactionUnderpriced";
|
|
19
|
+
LiFiErrorCode[LiFiErrorCode["TransactionFailed"] = 1003] = "TransactionFailed";
|
|
20
|
+
LiFiErrorCode[LiFiErrorCode["Timeout"] = 1004] = "Timeout";
|
|
21
|
+
LiFiErrorCode[LiFiErrorCode["ProviderUnavailable"] = 1005] = "ProviderUnavailable";
|
|
22
|
+
LiFiErrorCode[LiFiErrorCode["NotFound"] = 1006] = "NotFound";
|
|
23
|
+
LiFiErrorCode[LiFiErrorCode["ChainSwitchError"] = 1007] = "ChainSwitchError";
|
|
24
|
+
LiFiErrorCode[LiFiErrorCode["TransactionUnprepared"] = 1008] = "TransactionUnprepared";
|
|
25
|
+
LiFiErrorCode[LiFiErrorCode["GasLimitError"] = 1009] = "GasLimitError";
|
|
26
|
+
LiFiErrorCode[LiFiErrorCode["TransactionCanceled"] = 1010] = "TransactionCanceled";
|
|
27
|
+
LiFiErrorCode[LiFiErrorCode["SlippageError"] = 1011] = "SlippageError";
|
|
28
|
+
LiFiErrorCode[LiFiErrorCode["SignatureRejected"] = 1012] = "SignatureRejected";
|
|
29
|
+
LiFiErrorCode[LiFiErrorCode["BalanceError"] = 1013] = "BalanceError";
|
|
30
|
+
LiFiErrorCode[LiFiErrorCode["AllowanceRequired"] = 1014] = "AllowanceRequired";
|
|
31
|
+
LiFiErrorCode[LiFiErrorCode["InsufficientFunds"] = 1015] = "InsufficientFunds";
|
|
32
|
+
LiFiErrorCode[LiFiErrorCode["ExchangeRateUpdateCanceled"] = 1016] = "ExchangeRateUpdateCanceled";
|
|
33
|
+
LiFiErrorCode[LiFiErrorCode["WalletChangedDuringExecution"] = 1017] = "WalletChangedDuringExecution";
|
|
34
|
+
LiFiErrorCode[LiFiErrorCode["TransactionExpired"] = 1018] = "TransactionExpired";
|
|
35
|
+
LiFiErrorCode[LiFiErrorCode["TransactionSimulationFailed"] = 1019] = "TransactionSimulationFailed";
|
|
36
|
+
})(LiFiErrorCode || (LiFiErrorCode = {}));
|
|
37
|
+
export var ErrorMessage;
|
|
38
|
+
(function (ErrorMessage) {
|
|
39
|
+
ErrorMessage["UnknownError"] = "Unknown error occurred.";
|
|
40
|
+
ErrorMessage["SlippageError"] = "The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.";
|
|
41
|
+
ErrorMessage["GasLimitLow"] = "Gas limit is too low.";
|
|
42
|
+
ErrorMessage["TransactionUnderpriced"] = "Transaction is underpriced.";
|
|
43
|
+
ErrorMessage["TransactionReverted"] = "Transaction was reverted.";
|
|
44
|
+
})(ErrorMessage || (ErrorMessage = {}));
|
|
45
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;AACzB,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAID,MAAM,CAAN,IAAY,aAqBX;AArBD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;AACpC,CAAC,EArBW,aAAa,KAAb,aAAa,QAqBxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ErrorName, LiFiErrorCode } from './constants.js';
|
|
2
|
+
import { BaseError } from './baseError.js';
|
|
3
|
+
export class RPCError extends BaseError {
|
|
4
|
+
constructor(code, message, cause) {
|
|
5
|
+
super(ErrorName.RPCError, code, message, cause);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class ProviderError extends BaseError {
|
|
9
|
+
constructor(code, message, cause) {
|
|
10
|
+
super(ErrorName.ProviderError, code, message, cause);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class TransactionError extends BaseError {
|
|
14
|
+
constructor(code, message, cause) {
|
|
15
|
+
super(ErrorName.TransactionError, code, message, cause);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class UnknownError extends BaseError {
|
|
19
|
+
constructor(message, cause) {
|
|
20
|
+
super(ErrorName.UnknownError, LiFiErrorCode.InternalError, message, cause);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class BalanceError extends BaseError {
|
|
24
|
+
constructor(message, cause) {
|
|
25
|
+
super(ErrorName.BalanceError, LiFiErrorCode.BalanceError, message, cause);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class ServerError extends BaseError {
|
|
29
|
+
constructor(message) {
|
|
30
|
+
super(ErrorName.ServerError, LiFiErrorCode.InternalError, message);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class ValidationError extends BaseError {
|
|
34
|
+
constructor(message) {
|
|
35
|
+
super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { LiFiErrorCode } from './constants.js';
|
|
2
|
+
import { BaseError } from './baseError.js';
|
|
3
|
+
import { ErrorName, ErrorMessage } from './constants.js';
|
|
4
|
+
const statusCodeToErrorClassificationMap = new Map([
|
|
5
|
+
[
|
|
6
|
+
400,
|
|
7
|
+
{ type: ErrorName.ValidationError, code: LiFiErrorCode.ValidationError },
|
|
8
|
+
],
|
|
9
|
+
[404, { type: ErrorName.NotFoundError, code: LiFiErrorCode.NotFound }],
|
|
10
|
+
[
|
|
11
|
+
409,
|
|
12
|
+
{
|
|
13
|
+
type: ErrorName.SlippageError,
|
|
14
|
+
code: LiFiErrorCode.SlippageError,
|
|
15
|
+
message: ErrorMessage.SlippageError,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
[500, { type: ErrorName.ServerError, code: LiFiErrorCode.InternalError }],
|
|
19
|
+
]);
|
|
20
|
+
const getErrorClassificationFromStatusCode = (code) => statusCodeToErrorClassificationMap.get(code) ?? {
|
|
21
|
+
type: ErrorName.ServerError,
|
|
22
|
+
code: LiFiErrorCode.InternalError,
|
|
23
|
+
};
|
|
24
|
+
const createInitialMessage = (response) => {
|
|
25
|
+
const statusCode = response.status || response.status === 0 ? response.status : '';
|
|
26
|
+
const title = response.statusText || '';
|
|
27
|
+
const status = `${statusCode} ${title}`.trim();
|
|
28
|
+
const reason = status ? `status code ${status}` : 'an unknown error';
|
|
29
|
+
return `Request failed with ${reason}`;
|
|
30
|
+
};
|
|
31
|
+
export class HTTPError extends BaseError {
|
|
32
|
+
constructor(response, url, options) {
|
|
33
|
+
const errorClassification = getErrorClassificationFromStatusCode(response.status);
|
|
34
|
+
const additionalMessage = errorClassification?.message
|
|
35
|
+
? `\n${errorClassification.message}`
|
|
36
|
+
: '';
|
|
37
|
+
const message = createInitialMessage(response) + additionalMessage;
|
|
38
|
+
super(ErrorName.HTTPError, errorClassification.code, message);
|
|
39
|
+
Object.defineProperty(this, "response", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true,
|
|
43
|
+
value: void 0
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(this, "status", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
configurable: true,
|
|
48
|
+
writable: true,
|
|
49
|
+
value: void 0
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(this, "url", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
configurable: true,
|
|
54
|
+
writable: true,
|
|
55
|
+
value: void 0
|
|
56
|
+
});
|
|
57
|
+
Object.defineProperty(this, "fetchOptions", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
configurable: true,
|
|
60
|
+
writable: true,
|
|
61
|
+
value: void 0
|
|
62
|
+
});
|
|
63
|
+
Object.defineProperty(this, "type", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
configurable: true,
|
|
66
|
+
writable: true,
|
|
67
|
+
value: void 0
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(this, "responseBody", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
configurable: true,
|
|
72
|
+
writable: true,
|
|
73
|
+
value: void 0
|
|
74
|
+
});
|
|
75
|
+
this.type = errorClassification.type;
|
|
76
|
+
this.response = response;
|
|
77
|
+
this.status = response.status;
|
|
78
|
+
this.message = message;
|
|
79
|
+
this.url = url;
|
|
80
|
+
this.fetchOptions = options;
|
|
81
|
+
}
|
|
82
|
+
async buildAdditionalDetails() {
|
|
83
|
+
if (this.type) {
|
|
84
|
+
this.message = `[${this.type}] ${this.message}`;
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
this.responseBody = await this.response.json();
|
|
88
|
+
const spacer = '\n ';
|
|
89
|
+
if (this.responseBody) {
|
|
90
|
+
this.message += `${spacer}responseMessage: ${this.responseBody?.message.toString().replaceAll('\n', spacer)}`;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch { }
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=httpError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpError.js","sourceRoot":"","sources":["../../errors/httpError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './baseError.js';
|
|
2
|
+
export * from './constants.js';
|
|
3
|
+
export * from './errors.js';
|
|
4
|
+
export * from './httpError.js';
|
|
5
|
+
export * from './SDKError.js';
|
|
6
|
+
export * from './utils/rootCause.js';
|
|
7
|
+
export * from './utils/baseErrorRootCause.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseError } from '../baseError.js';
|
|
2
|
+
import { HTTPError } from '../httpError.js';
|
|
3
|
+
export const getRootCauseBaseError = (e) => {
|
|
4
|
+
let rootCause = e;
|
|
5
|
+
while (rootCause.cause && rootCause.cause instanceof BaseError) {
|
|
6
|
+
rootCause = rootCause.cause;
|
|
7
|
+
}
|
|
8
|
+
return rootCause;
|
|
9
|
+
};
|
|
10
|
+
export const getRootCauseBaseErrorMessage = (e) => {
|
|
11
|
+
const rootCause = getRootCauseBaseError(e);
|
|
12
|
+
return rootCause instanceof HTTPError
|
|
13
|
+
? rootCause.responseBody?.message || rootCause.message
|
|
14
|
+
: rootCause.message;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=baseErrorRootCause.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseErrorRootCause.js","sourceRoot":"","sources":["../../../errors/utils/baseErrorRootCause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAQ,EAAE,EAAE;IAChD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/D,SAAS,GAAG,SAAS,CAAC,KAAkB,CAAA;IAC1C,CAAC;IACD,OAAO,SAAsB,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAQ,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAE1C,OAAO,SAAS,YAAY,SAAS;QACnC,CAAC,CAAE,SAAuB,CAAC,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO;QACrE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rootCause.js","sourceRoot":"","sources":["../../../errors/utils/rootCause.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAoB,EAAE,EAAE;IACnD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,SAAS,EAAE,KAAK,EAAE,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC,KAAc,CAAA;IACtC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
package/src/_esm/helpers.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { request } from './request.js';
|
|
2
|
-
import { ValidationError } from './utils/errors.js';
|
|
3
1
|
import { name, version } from './version.js';
|
|
2
|
+
import { ValidationError } from './errors/errors.js';
|
|
3
|
+
import { SDKError } from './errors/SDKError.js';
|
|
4
4
|
export const checkPackageUpdates = async (packageName, packageVersion) => {
|
|
5
5
|
try {
|
|
6
6
|
const pkgName = packageName ?? name;
|
|
7
|
-
const response = await
|
|
8
|
-
const
|
|
7
|
+
const response = await fetch(`https://registry.npmjs.org/${pkgName}/latest`);
|
|
8
|
+
const reponseBody = await response.json();
|
|
9
|
+
const latestVersion = reponseBody.version;
|
|
9
10
|
const currentVersion = packageVersion ?? version;
|
|
10
11
|
if (latestVersion > currentVersion) {
|
|
11
12
|
console.warn(
|
|
@@ -20,15 +21,17 @@ export const checkPackageUpdates = async (packageName, packageVersion) => {
|
|
|
20
21
|
/**
|
|
21
22
|
* Converts a quote to Route
|
|
22
23
|
* @param step - Step returned from the quote endpoint.
|
|
24
|
+
* @param txHash
|
|
25
|
+
* @param chainId
|
|
23
26
|
* @returns - The route to be executed.
|
|
24
|
-
* @throws {
|
|
27
|
+
* @throws {BaseError} Throws a ValidationError if the step has missing values.
|
|
25
28
|
*/
|
|
26
29
|
export const convertQuoteToRoute = (step) => {
|
|
27
30
|
if (!step.estimate.fromAmountUSD) {
|
|
28
|
-
throw new ValidationError("Missing 'fromAmountUSD' in step estimate.");
|
|
31
|
+
throw new SDKError(new ValidationError("Missing 'fromAmountUSD' in step estimate."));
|
|
29
32
|
}
|
|
30
33
|
if (!step.estimate.toAmountUSD) {
|
|
31
|
-
throw new ValidationError("Missing 'toAmountUSD' in step estimate.");
|
|
34
|
+
throw new SDKError(new ValidationError("Missing 'toAmountUSD' in step estimate."));
|
|
32
35
|
}
|
|
33
36
|
const route = {
|
|
34
37
|
fromToken: step.action.fromToken,
|
|
@@ -47,7 +50,11 @@ export const convertQuoteToRoute = (step) => {
|
|
|
47
50
|
return route;
|
|
48
51
|
};
|
|
49
52
|
export const fetchTxErrorDetails = async (txHash, chainId) => {
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
try {
|
|
54
|
+
const response = await fetch(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
|
|
55
|
+
const reponseBody = await response.json();
|
|
56
|
+
return reponseBody;
|
|
57
|
+
}
|
|
58
|
+
catch (_) { }
|
|
52
59
|
};
|
|
53
60
|
//# sourceMappingURL=helpers.js.map
|
package/src/_esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,WAAoB,EACpB,cAAuB,EACvB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,OAAO,SAAS,CAAC,CAAA;QAC5E,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAA;QACzC,MAAM,cAAc,GAAG,cAAc,IAAI,OAAO,CAAA;QAEhD,IAAI,aAAa,GAAG,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI;YACV,mCAAmC;YACnC,GAAG,OAAO,wHAAwH,cAAc,qBAAqB,aAAa,GAAG,CACtL,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mGAAmG;IACrG,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAS,EAAE;IAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,2CAA2C,CAAC,CACjE,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAU;QACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;QAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;QAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE;KACzD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,kDAAkD,OAAO,OAAO,MAAM,EAAE,CACzE,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEzC,OAAO,WAAW,CAAA;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;AAChB,CAAC,CAAA"}
|
package/src/_esm/index.js
CHANGED
|
@@ -12,6 +12,6 @@ export * from './services/api.js';
|
|
|
12
12
|
export * from './services/balance.js';
|
|
13
13
|
export * from './services/getNameServiceAddress.js';
|
|
14
14
|
export * from './types/index.js';
|
|
15
|
-
export * from './
|
|
16
|
-
export {
|
|
15
|
+
export * from './errors/index.js';
|
|
16
|
+
export {} from './errors/index.js';
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/src/_esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AAMnC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EACL,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,4BAA4B,CAAA;AAMnC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAkB,MAAM,mBAAmB,CAAA"}
|
package/src/_esm/request.js
CHANGED
|
@@ -1,63 +1,66 @@
|
|
|
1
1
|
import { config } from './config.js';
|
|
2
|
-
import { HTTPError } from './
|
|
2
|
+
import { HTTPError } from './errors/httpError.js';
|
|
3
3
|
import { wait } from './utils/utils.js';
|
|
4
|
+
import { ValidationError } from './errors/errors.js';
|
|
5
|
+
import { SDKError } from './errors/SDKError.js';
|
|
4
6
|
import { version } from './version.js';
|
|
5
7
|
export const requestSettings = {
|
|
6
8
|
retries: 1,
|
|
7
9
|
};
|
|
10
|
+
const stripExtendRequestInitProperties = ({ retries, ...rest }) => ({
|
|
11
|
+
...rest,
|
|
12
|
+
});
|
|
8
13
|
export const request = async (url, options = {
|
|
9
14
|
retries: requestSettings.retries,
|
|
10
15
|
}) => {
|
|
11
16
|
const { userId, integrator, widgetVersion, apiKey } = config.get();
|
|
12
17
|
if (!integrator) {
|
|
13
|
-
throw new
|
|
18
|
+
throw new SDKError(new ValidationError('You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'));
|
|
14
19
|
}
|
|
15
20
|
options.retries = options.retries ?? requestSettings.retries;
|
|
16
21
|
try {
|
|
17
|
-
if (
|
|
18
|
-
if (apiKey) {
|
|
19
|
-
options.headers = {
|
|
20
|
-
...options.headers,
|
|
21
|
-
'x-lifi-api-key': apiKey,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
if (userId) {
|
|
25
|
-
options.headers = {
|
|
26
|
-
...options.headers,
|
|
27
|
-
'x-lifi-userid': userId,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
if (widgetVersion) {
|
|
31
|
-
options.headers = {
|
|
32
|
-
...options.headers,
|
|
33
|
-
'x-lifi-widget': widgetVersion,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
if (version) {
|
|
37
|
-
options.headers = {
|
|
38
|
-
...options.headers,
|
|
39
|
-
'x-lifi-sdk': version,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
// integrator is mandatory during SDK initialization
|
|
22
|
+
if (apiKey) {
|
|
43
23
|
options.headers = {
|
|
44
24
|
...options.headers,
|
|
45
|
-
'x-lifi-
|
|
25
|
+
'x-lifi-api-key': apiKey,
|
|
46
26
|
};
|
|
47
27
|
}
|
|
48
|
-
|
|
28
|
+
if (userId) {
|
|
29
|
+
options.headers = {
|
|
30
|
+
...options.headers,
|
|
31
|
+
'x-lifi-userid': userId,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (widgetVersion) {
|
|
35
|
+
options.headers = {
|
|
36
|
+
...options.headers,
|
|
37
|
+
'x-lifi-widget': widgetVersion,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (version) {
|
|
41
|
+
options.headers = {
|
|
42
|
+
...options.headers,
|
|
43
|
+
'x-lifi-sdk': version,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// integrator is mandatory during SDK initialization
|
|
47
|
+
options.headers = {
|
|
48
|
+
...options.headers,
|
|
49
|
+
'x-lifi-integrator': integrator,
|
|
50
|
+
};
|
|
51
|
+
const response = await fetch(url, stripExtendRequestInitProperties(options));
|
|
49
52
|
if (!response.ok) {
|
|
50
|
-
throw new HTTPError(response);
|
|
53
|
+
throw new HTTPError(response, url, options);
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
return data;
|
|
55
|
+
return await response.json();
|
|
54
56
|
}
|
|
55
57
|
catch (error) {
|
|
56
|
-
if (options.retries > 0 && error
|
|
58
|
+
if (options.retries > 0 && error.status === 500) {
|
|
57
59
|
await wait(500);
|
|
58
60
|
return request(url, { ...options, retries: options.retries - 1 });
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
await error.buildAdditionalDetails?.();
|
|
63
|
+
throw new SDKError(error);
|
|
61
64
|
}
|
|
62
65
|
};
|
|
63
66
|
//# sourceMappingURL=request.js.map
|
package/src/_esm/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAED,MAAM,gCAAgC,GAAG,CAAC,EACxC,OAAO,EACP,GAAG,IAAI,EACa,EAAe,EAAE,CAAC,CAAC;IACvC,GAAG,IAAI;CACR,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,eAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAElE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,gIAAgI,CACjI,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAA;IAE5D,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,gBAAgB,EAAE,MAAM;aACzB,CAAA;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,MAAM;aACxB,CAAA;QACH,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,eAAe,EAAE,aAAa;aAC/B,CAAA;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,YAAY,EAAE,OAAO;aACtB,CAAA;QACH,CAAC;QAED,oDAAoD;QACpD,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,mBAAmB,EAAE,UAAU;SAChC,CAAA;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CACpC,GAAG,EACH,gCAAgC,CAAC,OAAO,CAAC,CAC1C,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAK,KAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,OAAO,OAAO,CAAI,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,MAAO,KAAmB,CAAC,sBAAsB,EAAE,EAAE,CAAA;QAErD,MAAM,IAAI,QAAQ,CAAC,KAAkB,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA"}
|