@lifi/sdk 3.0.2-beta.0 → 3.1.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.
Files changed (217) hide show
  1. package/package.json +3 -3
  2. package/src/_cjs/core/EVM/EVMStepExecutor.js +12 -11
  3. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  4. package/src/_cjs/core/EVM/checkAllowance.js +5 -10
  5. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  6. package/src/_cjs/core/EVM/multisig.js +4 -3
  7. package/src/_cjs/core/EVM/multisig.js.map +1 -1
  8. package/src/_cjs/core/EVM/parseEVMErrors.js +38 -0
  9. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -0
  10. package/src/_cjs/core/EVM/publicClient.js +8 -3
  11. package/src/_cjs/core/EVM/publicClient.js.map +1 -1
  12. package/src/_cjs/core/EVM/setAllowance.js +2 -3
  13. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  14. package/src/_cjs/core/EVM/switchChain.js +4 -3
  15. package/src/_cjs/core/EVM/switchChain.js.map +1 -1
  16. package/src/_cjs/core/Solana/SolanaStepExecutor.js +42 -24
  17. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  18. package/src/_cjs/core/Solana/connection.js.map +1 -1
  19. package/src/_cjs/core/Solana/parseSolanaErrors.js +33 -0
  20. package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -0
  21. package/src/_cjs/core/checkBalance.js +2 -2
  22. package/src/_cjs/core/checkBalance.js.map +1 -1
  23. package/src/_cjs/core/stepComparison.js +3 -3
  24. package/src/_cjs/core/stepComparison.js.map +1 -1
  25. package/src/_cjs/core/waitForReceivingTransaction.js +1 -1
  26. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
  27. package/src/_cjs/errors/SDKError.js +48 -0
  28. package/src/_cjs/errors/SDKError.js.map +1 -0
  29. package/src/_cjs/errors/baseError.js +30 -0
  30. package/src/_cjs/errors/baseError.js.map +1 -0
  31. package/src/_cjs/errors/constants.js +48 -0
  32. package/src/_cjs/errors/constants.js.map +1 -0
  33. package/src/_cjs/errors/errors.js +48 -0
  34. package/src/_cjs/errors/errors.js.map +1 -0
  35. package/src/_cjs/errors/httpError.js +101 -0
  36. package/src/_cjs/errors/httpError.js.map +1 -0
  37. package/src/_cjs/errors/index.js +11 -0
  38. package/src/_cjs/errors/index.js.map +1 -0
  39. package/src/_cjs/errors/utils/baseErrorRootCause.js +21 -0
  40. package/src/_cjs/errors/utils/baseErrorRootCause.js.map +1 -0
  41. package/src/_cjs/errors/utils/rootCause.js +12 -0
  42. package/src/_cjs/errors/utils/rootCause.js.map +1 -0
  43. package/src/_cjs/helpers.js +13 -8
  44. package/src/_cjs/helpers.js.map +1 -1
  45. package/src/_cjs/index.js +2 -4
  46. package/src/_cjs/index.js.map +1 -1
  47. package/src/_cjs/request.js +37 -34
  48. package/src/_cjs/request.js.map +1 -1
  49. package/src/_cjs/services/api.js +61 -132
  50. package/src/_cjs/services/api.js.map +1 -1
  51. package/src/_cjs/services/balance.js +1 -1
  52. package/src/_cjs/services/balance.js.map +1 -1
  53. package/src/_cjs/types/request.js +3 -0
  54. package/src/_cjs/types/request.js.map +1 -0
  55. package/src/_cjs/utils/errors.js +0 -183
  56. package/src/_cjs/utils/errors.js.map +1 -1
  57. package/src/_cjs/utils/index.js +1 -2
  58. package/src/_cjs/utils/index.js.map +1 -1
  59. package/src/_cjs/version.js +1 -1
  60. package/src/_cjs/version.js.map +1 -1
  61. package/src/_esm/core/EVM/EVMStepExecutor.js +8 -7
  62. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  63. package/src/_esm/core/EVM/checkAllowance.js +5 -10
  64. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  65. package/src/_esm/core/EVM/multisig.js +2 -1
  66. package/src/_esm/core/EVM/multisig.js.map +1 -1
  67. package/src/_esm/core/EVM/parseEVMErrors.js +35 -0
  68. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -0
  69. package/src/_esm/core/EVM/publicClient.js +9 -4
  70. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  71. package/src/_esm/core/EVM/setAllowance.js +3 -5
  72. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  73. package/src/_esm/core/EVM/switchChain.js +2 -1
  74. package/src/_esm/core/EVM/switchChain.js.map +1 -1
  75. package/src/_esm/core/Solana/SolanaStepExecutor.js +52 -25
  76. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  77. package/src/_esm/core/Solana/connection.js +2 -3
  78. package/src/_esm/core/Solana/connection.js.map +1 -1
  79. package/src/_esm/core/Solana/parseSolanaErrors.js +29 -0
  80. package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -0
  81. package/src/_esm/core/checkBalance.js +2 -2
  82. package/src/_esm/core/checkBalance.js.map +1 -1
  83. package/src/_esm/core/stepComparison.js +3 -3
  84. package/src/_esm/core/stepComparison.js.map +1 -1
  85. package/src/_esm/core/waitForReceivingTransaction.js +1 -1
  86. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
  87. package/src/_esm/errors/SDKError.js +47 -0
  88. package/src/_esm/errors/SDKError.js.map +1 -0
  89. package/src/_esm/errors/baseError.js +28 -0
  90. package/src/_esm/errors/baseError.js.map +1 -0
  91. package/src/_esm/errors/constants.js +45 -0
  92. package/src/_esm/errors/constants.js.map +1 -0
  93. package/src/_esm/errors/errors.js +38 -0
  94. package/src/_esm/errors/errors.js.map +1 -0
  95. package/src/_esm/errors/httpError.js +97 -0
  96. package/src/_esm/errors/httpError.js.map +1 -0
  97. package/src/_esm/errors/index.js +8 -0
  98. package/src/_esm/errors/index.js.map +1 -0
  99. package/src/_esm/errors/utils/baseErrorRootCause.js +16 -0
  100. package/src/_esm/errors/utils/baseErrorRootCause.js.map +1 -0
  101. package/src/_esm/errors/utils/rootCause.js +8 -0
  102. package/src/_esm/errors/utils/rootCause.js.map +1 -0
  103. package/src/_esm/helpers.js +16 -9
  104. package/src/_esm/helpers.js.map +1 -1
  105. package/src/_esm/index.js +2 -2
  106. package/src/_esm/index.js.map +1 -1
  107. package/src/_esm/request.js +38 -35
  108. package/src/_esm/request.js.map +1 -1
  109. package/src/_esm/services/api.js +61 -133
  110. package/src/_esm/services/api.js.map +1 -1
  111. package/src/_esm/services/balance.js +4 -4
  112. package/src/_esm/services/balance.js.map +1 -1
  113. package/src/_esm/types/request.js +2 -0
  114. package/src/_esm/types/request.js.map +1 -0
  115. package/src/_esm/utils/errors.js +1 -173
  116. package/src/_esm/utils/errors.js.map +1 -1
  117. package/src/_esm/utils/index.js +1 -2
  118. package/src/_esm/utils/index.js.map +1 -1
  119. package/src/_esm/version.js +1 -1
  120. package/src/_esm/version.js.map +1 -1
  121. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  122. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  123. package/src/_types/core/EVM/multisig.d.ts.map +1 -1
  124. package/src/_types/core/EVM/parseEVMErrors.d.ts +4 -0
  125. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -0
  126. package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
  127. package/src/_types/core/EVM/setAllowance.d.ts +1 -2
  128. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
  129. package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
  130. package/src/_types/core/EVM/types.d.ts +3 -0
  131. package/src/_types/core/EVM/types.d.ts.map +1 -1
  132. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  133. package/src/_types/core/Solana/connection.d.ts +2 -3
  134. package/src/_types/core/Solana/connection.d.ts.map +1 -1
  135. package/src/_types/core/Solana/parseSolanaErrors.d.ts +4 -0
  136. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -0
  137. package/src/_types/core/stepComparison.d.ts.map +1 -1
  138. package/src/_types/core/types.d.ts +3 -0
  139. package/src/_types/core/types.d.ts.map +1 -1
  140. package/src/_types/errors/SDKError.d.ts +12 -0
  141. package/src/_types/errors/SDKError.d.ts.map +1 -0
  142. package/src/_types/errors/baseError.d.ts +7 -0
  143. package/src/_types/errors/baseError.d.ts.map +1 -0
  144. package/src/_types/errors/constants.d.ts +43 -0
  145. package/src/_types/errors/constants.d.ts.map +1 -0
  146. package/src/_types/errors/errors.d.ts +24 -0
  147. package/src/_types/errors/errors.d.ts.map +1 -0
  148. package/src/_types/errors/httpError.d.ts +21 -0
  149. package/src/_types/errors/httpError.d.ts.map +1 -0
  150. package/src/_types/errors/index.d.ts +8 -0
  151. package/src/_types/errors/index.d.ts.map +1 -0
  152. package/src/_types/errors/utils/baseErrorRootCause.d.ts +4 -0
  153. package/src/_types/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  154. package/src/_types/errors/utils/rootCause.d.ts +2 -0
  155. package/src/_types/errors/utils/rootCause.d.ts.map +1 -0
  156. package/src/_types/helpers.d.ts +5 -4
  157. package/src/_types/helpers.d.ts.map +1 -1
  158. package/src/_types/index.d.ts +2 -2
  159. package/src/_types/index.d.ts.map +1 -1
  160. package/src/_types/request.d.ts +1 -5
  161. package/src/_types/request.d.ts.map +1 -1
  162. package/src/_types/services/api.d.ts.map +1 -1
  163. package/src/_types/services/balance.d.ts +3 -3
  164. package/src/_types/types/request.d.ts +4 -0
  165. package/src/_types/types/request.d.ts.map +1 -0
  166. package/src/_types/utils/errors.d.ts +0 -109
  167. package/src/_types/utils/errors.d.ts.map +1 -1
  168. package/src/_types/utils/index.d.ts +1 -2
  169. package/src/_types/utils/index.d.ts.map +1 -1
  170. package/src/_types/version.d.ts +1 -1
  171. package/src/_types/version.d.ts.map +1 -1
  172. package/src/core/EVM/EVMStepExecutor.ts +14 -12
  173. package/src/core/EVM/checkAllowance.ts +5 -10
  174. package/src/core/EVM/multisig.ts +2 -1
  175. package/src/core/EVM/parseEVMErrors.ts +60 -0
  176. package/src/core/EVM/publicClient.ts +9 -4
  177. package/src/core/EVM/setAllowance.ts +2 -6
  178. package/src/core/EVM/switchChain.ts +2 -1
  179. package/src/core/EVM/types.ts +3 -0
  180. package/src/core/Solana/SolanaStepExecutor.ts +67 -34
  181. package/src/core/Solana/connection.ts +2 -3
  182. package/src/core/Solana/parseSolanaErrors.ts +45 -0
  183. package/src/core/checkBalance.ts +2 -2
  184. package/src/core/stepComparison.ts +3 -4
  185. package/src/core/types.ts +3 -0
  186. package/src/core/waitForReceivingTransaction.ts +1 -1
  187. package/src/errors/SDKError.ts +25 -0
  188. package/src/errors/baseError.ts +22 -0
  189. package/src/errors/constants.ts +45 -0
  190. package/src/errors/errors.ts +44 -0
  191. package/src/errors/httpError.ts +93 -0
  192. package/src/errors/index.ts +7 -0
  193. package/src/errors/utils/baseErrorRootCause.ts +18 -0
  194. package/src/errors/utils/rootCause.ts +7 -0
  195. package/src/helpers.ts +23 -16
  196. package/src/index.ts +2 -2
  197. package/src/request.ts +52 -38
  198. package/src/services/api.ts +109 -157
  199. package/src/services/balance.ts +4 -4
  200. package/src/types/request.ts +3 -0
  201. package/src/utils/errors.ts +0 -233
  202. package/src/utils/index.ts +1 -2
  203. package/src/version.ts +1 -1
  204. package/src/_cjs/utils/parseBackendError.js +0 -27
  205. package/src/_cjs/utils/parseBackendError.js.map +0 -1
  206. package/src/_cjs/utils/parseError.js +0 -69
  207. package/src/_cjs/utils/parseError.js.map +0 -1
  208. package/src/_esm/utils/parseBackendError.js +0 -24
  209. package/src/_esm/utils/parseBackendError.js.map +0 -1
  210. package/src/_esm/utils/parseError.js +0 -100
  211. package/src/_esm/utils/parseError.js.map +0 -1
  212. package/src/_types/utils/parseBackendError.d.ts +0 -3
  213. package/src/_types/utils/parseBackendError.d.ts.map +0 -1
  214. package/src/_types/utils/parseError.d.ts +0 -35
  215. package/src/_types/utils/parseError.d.ts.map +0 -1
  216. package/src/utils/parseBackendError.ts +0 -50
  217. package/src/utils/parseError.ts +0 -210
@@ -1,9 +1,12 @@
1
1
  import {} from '@solana/wallet-adapter-base';
2
2
  import { TransactionExpiredBlockheightExceededError, VersionedTransaction, } from '@solana/web3.js';
3
+ import bs58 from 'bs58';
3
4
  import { config } from '../../config.js';
5
+ import { LiFiErrorCode } from '../../errors/constants.js';
6
+ import { TransactionError } from '../../errors/errors.js';
4
7
  import { getStepTransaction } from '../../services/api.js';
5
8
  import { base64ToUint8Array } from '../../utils/base64ToUint8Array.js';
6
- import { LiFiErrorCode, TransactionError, getTransactionFailedMessage, parseError, } from '../../utils/index.js';
9
+ import { getTransactionFailedMessage } from '../../utils/index.js';
7
10
  import { BaseStepExecutor } from '../BaseStepExecutor.js';
8
11
  import { checkBalance } from '../checkBalance.js';
9
12
  import { getSubstatusMessage } from '../processMessages.js';
@@ -11,9 +14,7 @@ import { stepComparison } from '../stepComparison.js';
11
14
  import { sleep } from '../utils.js';
12
15
  import { waitForReceivingTransaction } from '../waitForReceivingTransaction.js';
13
16
  import { getSolanaConnection } from './connection.js';
14
- const TX_RETRY_INTERVAL = 1000;
15
- // https://solana.com/docs/advanced/confirmation
16
- const TIMEOUT_PERIOD = 60_000;
17
+ import { parseSolanaErrors } from './parseSolanaErrors.js';
17
18
  export class SolanaStepExecutor extends BaseStepExecutor {
18
19
  constructor(options) {
19
20
  super(options);
@@ -89,19 +90,34 @@ export class SolanaStepExecutor extends BaseStepExecutor {
89
90
  }
90
91
  const versionedTransaction = VersionedTransaction.deserialize(base64ToUint8Array(transactionRequest.data));
91
92
  this.checkWalletAdapter(step);
92
- const signedTx = await this.walletAdapter.signTransaction(versionedTransaction);
93
+ const signedTxPromise = this.walletAdapter.signTransaction(versionedTransaction);
94
+ // We give users 2 minutes to sign the transaction or it should be considered expired
95
+ const signedTx = await Promise.race([
96
+ signedTxPromise,
97
+ // https://solana.com/docs/advanced/confirmation#transaction-expiration
98
+ // Use 2 minutes to account for fluctuations
99
+ sleep(120_000),
100
+ ]);
101
+ if (!signedTx) {
102
+ throw new TransactionError(LiFiErrorCode.TransactionExpired, 'Transaction has expired: blockhash is no longer recent enough.');
103
+ }
93
104
  process = this.statusManager.updateProcess(step, process.type, 'PENDING');
94
- const rawTransactionOptions = {
95
- // Skipping preflight i.e. tx simulation by RPC as we simulated the tx above
96
- skipPreflight: true,
97
- // Setting max retries to 0 as we are handling retries manually
98
- // Set this manually so that the default is skipped
99
- maxRetries: 0,
100
- // https://solana.com/docs/advanced/confirmation#use-an-appropriate-preflight-commitment-level
101
- preflightCommitment: 'confirmed',
102
- // minContextSlot: blockhashResult.context.slot,
103
- };
104
- const txSignature = await connection.sendRawTransaction(signedTx.serialize(), rawTransactionOptions);
105
+ const simulationResult = await connection.simulateTransaction(signedTx, {
106
+ commitment: 'processed',
107
+ replaceRecentBlockhash: true,
108
+ });
109
+ if (simulationResult.value.err) {
110
+ throw new TransactionError(LiFiErrorCode.TransactionSimulationFailed, 'Transaction simulation failed');
111
+ }
112
+ // Create transaction hash (signature)
113
+ const txSignature = bs58.encode(signedTx.signatures[0]);
114
+ // A known weirdness - MAX_RECENT_BLOCKHASHES is 300
115
+ // https://github.com/solana-labs/solana/blob/master/sdk/program/src/clock.rs#L123
116
+ // but MAX_PROCESSING_AGE is 150
117
+ // https://github.com/solana-labs/solana/blob/master/sdk/program/src/clock.rs#L129
118
+ // the blockhash queue in the bank tells you 300 + current slot, but it won't be accepted 150 blocks later.
119
+ // https://solana.com/docs/advanced/confirmation#transaction-expiration
120
+ const lastValidBlockHeight = blockhashResult.lastValidBlockHeight - 150;
105
121
  // In the following section, we wait and constantly check for the transaction to be confirmed
106
122
  // and resend the transaction if it is not confirmed within a certain time interval
107
123
  // thus handling tx retries on the client side rather than relying on the RPC
@@ -110,21 +126,33 @@ export class SolanaStepExecutor extends BaseStepExecutor {
110
126
  .confirmTransaction({
111
127
  signature: txSignature,
112
128
  blockhash: blockhashResult.blockhash,
113
- lastValidBlockHeight: blockhashResult.lastValidBlockHeight,
129
+ lastValidBlockHeight: lastValidBlockHeight,
114
130
  abortSignal: abortController.signal,
115
131
  }, 'confirmed')
116
132
  .then((result) => result.value);
117
133
  let confirmedTx = null;
118
- const startTime = Date.now();
119
- while (!confirmedTx && Date.now() - startTime <= TIMEOUT_PERIOD) {
120
- await connection.sendRawTransaction(signedTx.serialize(), rawTransactionOptions);
134
+ let blockHeight = await connection.getBlockHeight();
135
+ const rawTransactionOptions = {
136
+ // We can skip preflight check after the first transaction has been sent
137
+ // https://solana.com/docs/advanced/retry#the-cost-of-skipping-preflight
138
+ skipPreflight: true,
139
+ // Setting max retries to 0 as we are handling retries manually
140
+ maxRetries: 0,
141
+ // https://solana.com/docs/advanced/confirmation#use-an-appropriate-preflight-commitment-level
142
+ preflightCommitment: 'confirmed',
143
+ };
144
+ const signedTxSerialized = signedTx.serialize();
145
+ // https://solana.com/docs/advanced/retry#customizing-rebroadcast-logic
146
+ while (!confirmedTx && blockHeight < lastValidBlockHeight) {
147
+ await connection.sendRawTransaction(signedTxSerialized, rawTransactionOptions);
121
148
  confirmedTx = await Promise.race([
122
149
  confirmTransactionPromise,
123
- sleep(TX_RETRY_INTERVAL),
150
+ sleep(1000),
124
151
  ]);
125
152
  if (confirmedTx) {
126
153
  break;
127
154
  }
155
+ blockHeight = await connection.getBlockHeight();
128
156
  }
129
157
  // Stop waiting for tx confirmation
130
158
  abortController.abort();
@@ -139,7 +167,7 @@ export class SolanaStepExecutor extends BaseStepExecutor {
139
167
  throw new TransactionError(LiFiErrorCode.TransactionFailed, `Transaction failed: ${reason}`);
140
168
  }
141
169
  if (!confirmedTx) {
142
- throw new TransactionError(LiFiErrorCode.TransactionExpired, 'Failed to land the transaction');
170
+ throw new TransactionError(LiFiErrorCode.TransactionExpired, 'Transaction has expired: The block height has exceeded the maximum allowed limit.');
143
171
  }
144
172
  // Transaction has been confirmed and we can update the process
145
173
  process = this.statusManager.updateProcess(step, process.type, 'PENDING', {
@@ -151,11 +179,10 @@ export class SolanaStepExecutor extends BaseStepExecutor {
151
179
  }
152
180
  }
153
181
  catch (e) {
154
- const error = await parseError(e, step, process);
182
+ const error = await parseSolanaErrors(e, step, process);
155
183
  process = this.statusManager.updateProcess(step, process.type, 'FAILED', {
156
184
  error: {
157
- message: error.message,
158
- htmlMessage: error.htmlMessage,
185
+ message: error.cause.message,
159
186
  code: error.code,
160
187
  },
161
188
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,8 @@ import { Connection } from '@solana/web3.js';
3
3
  import { getRpcUrl } from '../rpc.js';
4
4
  let connection = undefined;
5
5
  /**
6
- * getSolanaConnection is just a thin wrapper around getting the
7
- * connection (rpc provider) for Solana
8
- * @returns - Solana rpc connection
6
+ * getSolanaConnection is just a thin wrapper around getting the connection (RPC provider) for Solana
7
+ * @returns - Solana RPC connection
9
8
  */
10
9
  export const getSolanaConnection = async () => {
11
10
  if (!connection) {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,IAAI,UAAU,GAA2B,SAAS,CAAA;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAyB,EAAE;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,UAAU,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,CAAA;IACnB,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,IAAI,UAAU,GAA2B,SAAS,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAyB,EAAE;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,UAAU,CAAA;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,CAAA;IACnB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { BaseError } from '../../errors/baseError.js';
2
+ import { ErrorMessage, LiFiErrorCode } from '../../errors/constants.js';
3
+ import { TransactionError, UnknownError } from '../../errors/errors.js';
4
+ import { SDKError } from '../../errors/SDKError.js';
5
+ export const parseSolanaErrors = async (e, step, process) => {
6
+ if (e instanceof SDKError) {
7
+ e.step = e.step ?? step;
8
+ e.process = e.process ?? process;
9
+ return e;
10
+ }
11
+ const baseError = handleSpecificErrors(e);
12
+ return new SDKError(baseError, step, process);
13
+ };
14
+ const handleSpecificErrors = (e) => {
15
+ if (e.name === 'WalletSignTransactionError') {
16
+ return new TransactionError(LiFiErrorCode.SignatureRejected, e.message, e);
17
+ }
18
+ if (e.name === 'SendTransactionError') {
19
+ return new TransactionError(LiFiErrorCode.TransactionFailed, e.message, e);
20
+ }
21
+ if (e.message?.includes('simulate')) {
22
+ return new TransactionError(LiFiErrorCode.TransactionSimulationFailed, e.message, e);
23
+ }
24
+ if (e instanceof BaseError) {
25
+ return e;
26
+ }
27
+ return new UnknownError(e.message || ErrorMessage.UnknownError, e);
28
+ };
29
+ //# sourceMappingURL=parseSolanaErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseSolanaErrors.js","sourceRoot":"","sources":["../../../core/Solana/parseSolanaErrors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,CAAQ,EACR,IAAe,EACf,OAAiB,EACE,EAAE;IACrB,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;QAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAA;QACvB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAA;QAChC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAEzC,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,EAAE;IACtC,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC5C,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,2BAA2B,EACzC,CAAC,CAAC,OAAO,EACT,CAAC,CACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { formatUnits } from 'viem';
2
2
  import { getTokenBalance } from '../services/balance.js';
3
- import { BalanceError } from '../utils/errors.js';
3
+ import { BalanceError } from '../errors/errors.js';
4
4
  import { sleep } from './utils.js';
5
5
  export const checkBalance = async (walletAddress, step, depth = 0) => {
6
6
  const token = await getTokenBalance(walletAddress, step.action.fromToken);
@@ -30,7 +30,7 @@ export const checkBalance = async (walletAddress, step, depth = 0) => {
30
30
  `If the problem consists, please delete this transfer and ` +
31
31
  `start a new one with a maximum of ${current} ${token.symbol}.`;
32
32
  }
33
- throw new BalanceError('The balance is too low.', errorMessage);
33
+ throw new BalanceError('The balance is too low.');
34
34
  }
35
35
  }
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBACnE,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBACnE,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
- import { LiFiErrorCode, TransactionError } from '../utils/errors.js';
1
+ import { LiFiErrorCode } from '../errors/constants.js';
2
+ import { TransactionError } from '../errors/errors.js';
2
3
  import { checkStepSlippageThreshold } from './utils.js';
3
4
  /**
4
5
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
@@ -27,8 +28,7 @@ export const stepComparison = async (statusManager, oldStep, newStep, allowUserI
27
28
  }
28
29
  if (!allowStepUpdate) {
29
30
  // The user declined the new exchange rate, so we are not going to proceed
30
- throw new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
31
- The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
31
+ throw new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, `Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
32
32
  }
33
33
  return statusManager.updateStepInRoute(newStep);
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,4BAA4B,EAC5B;wGACkG,CACnG,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { getStatus } from '../services/api.js';
2
- import { ServerError } from '../utils/errors.js';
2
+ import { ServerError } from '../errors/errors.js';
3
3
  import { repeatUntilDone } from '../utils/utils.js';
4
4
  import { getSubstatusMessage } from './processMessages.js';
5
5
  const TRANSACTION_HASH_OBSERVERS = {};
@@ -1 +1 @@
1
- {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { version } from '../version.js';
2
+ import {} from './constants.js';
3
+ // Note: SDKError is used to wrapper and present errors at the top level
4
+ // Where opportunity allows we also add the step and the process related to the error
5
+ export class SDKError extends Error {
6
+ constructor(cause, step, process) {
7
+ const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\nLI.FI SDK version: ${version}`;
8
+ super(errorMessage);
9
+ Object.defineProperty(this, "step", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ Object.defineProperty(this, "process", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ Object.defineProperty(this, "code", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "name", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: 'SDKError'
32
+ });
33
+ Object.defineProperty(this, "cause", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ this.name = 'SDKError';
40
+ this.step = step;
41
+ this.process = process;
42
+ this.cause = cause;
43
+ this.stack = this.cause.stack;
44
+ this.code = cause.code;
45
+ }
46
+ }
47
+ //# sourceMappingURL=SDKError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKError.js","sourceRoot":"","sources":["../../errors/SDKError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAkB,MAAM,gBAAgB,CAAA;AAE/C,wEAAwE;AACxE,qFAAqF;AACrF,MAAM,OAAO,QAAS,SAAQ,KAAK;IAOjC,YAAY,KAAgB,EAAE,IAAe,EAAE,OAAiB;QAC9D,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,wBAAwB,wBAAwB,OAAO,EAAE,CAAA;QACtI,KAAK,CAAC,YAAY,CAAC,CAAA;QARrB;;;;;WAAe;QACf;;;;;WAAiB;QACjB;;;;;WAAe;QACN;;;;mBAAO,UAAU;WAAA;QACjB;;;;;WAAgB;QAKvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import { getRootCause } from './utils/rootCause.js';
2
+ // Note: we use the BaseErrors to capture errors at specific points in the code
3
+ // they can carry addition to help give more context
4
+ export class BaseError extends Error {
5
+ constructor(name, code, message, cause) {
6
+ super(message);
7
+ Object.defineProperty(this, "code", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: void 0
12
+ });
13
+ Object.defineProperty(this, "cause", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ this.name = name;
20
+ this.code = code;
21
+ this.cause = cause;
22
+ const rootCause = getRootCause(this.cause);
23
+ if (rootCause && rootCause.stack) {
24
+ this.stack = rootCause.stack;
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=baseError.js.map
@@ -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