@ledgerhq/live-common 34.54.0-nightly.20251209023841 → 34.54.0-nightly.20251209144712

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 (103) hide show
  1. package/lib/__tests__/test-helpers/environment.js +2 -0
  2. package/lib/__tests__/test-helpers/environment.js.map +1 -1
  3. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  4. package/lib/bridge/generic-alpaca/getAccountShape.js +3 -2
  5. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  6. package/lib/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  7. package/lib/bridge/generic-alpaca/prepareTransaction.js +7 -0
  8. package/lib/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  9. package/lib/e2e/index.d.ts +6 -0
  10. package/lib/e2e/index.d.ts.map +1 -1
  11. package/lib/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
  12. package/lib/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
  13. package/lib/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
  14. package/lib/exchange/swap/transactionStrategies.d.ts +2 -1
  15. package/lib/exchange/swap/transactionStrategies.d.ts.map +1 -1
  16. package/lib/exchange/swap/transactionStrategies.js +7 -6
  17. package/lib/exchange/swap/transactionStrategies.js.map +1 -1
  18. package/lib/featureFlags/defaultFeatures.d.ts +2 -0
  19. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  20. package/lib/featureFlags/defaultFeatures.js +2 -0
  21. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  22. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  23. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
  24. package/lib/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  25. package/lib/wallet-api/Exchange/SwapError.d.ts +93 -0
  26. package/lib/wallet-api/Exchange/SwapError.d.ts.map +1 -0
  27. package/lib/wallet-api/Exchange/SwapError.js +142 -0
  28. package/lib/wallet-api/Exchange/SwapError.js.map +1 -0
  29. package/lib/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
  30. package/lib/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
  31. package/lib/wallet-api/Exchange/handleSwapErrors.js +112 -0
  32. package/lib/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
  33. package/lib/wallet-api/Exchange/index.d.ts +4 -0
  34. package/lib/wallet-api/Exchange/index.d.ts.map +1 -0
  35. package/lib/wallet-api/Exchange/index.js +27 -0
  36. package/lib/wallet-api/Exchange/index.js.map +1 -0
  37. package/lib/wallet-api/Exchange/parser.d.ts +46 -0
  38. package/lib/wallet-api/Exchange/parser.d.ts.map +1 -0
  39. package/lib/wallet-api/Exchange/parser.js +97 -0
  40. package/lib/wallet-api/Exchange/parser.js.map +1 -0
  41. package/lib/wallet-api/Exchange/server.d.ts.map +1 -1
  42. package/lib/wallet-api/Exchange/server.js +226 -179
  43. package/lib/wallet-api/Exchange/server.js.map +1 -1
  44. package/lib-es/__tests__/test-helpers/environment.js +2 -0
  45. package/lib-es/__tests__/test-helpers/environment.js.map +1 -1
  46. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  47. package/lib-es/bridge/generic-alpaca/getAccountShape.js +3 -2
  48. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  49. package/lib-es/bridge/generic-alpaca/prepareTransaction.d.ts.map +1 -1
  50. package/lib-es/bridge/generic-alpaca/prepareTransaction.js +7 -0
  51. package/lib-es/bridge/generic-alpaca/prepareTransaction.js.map +1 -1
  52. package/lib-es/e2e/index.d.ts +6 -0
  53. package/lib-es/e2e/index.d.ts.map +1 -1
  54. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.d.ts.map +1 -1
  55. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js +4 -0
  56. package/lib-es/exchange/swap/getIncompatibleCurrencyKeys.js.map +1 -1
  57. package/lib-es/exchange/swap/transactionStrategies.d.ts +2 -1
  58. package/lib-es/exchange/swap/transactionStrategies.d.ts.map +1 -1
  59. package/lib-es/exchange/swap/transactionStrategies.js +7 -6
  60. package/lib-es/exchange/swap/transactionStrategies.js.map +1 -1
  61. package/lib-es/featureFlags/defaultFeatures.d.ts +2 -0
  62. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  63. package/lib-es/featureFlags/defaultFeatures.js +2 -0
  64. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  65. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.d.ts.map +1 -1
  66. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js +6 -0
  67. package/lib-es/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.js.map +1 -1
  68. package/lib-es/wallet-api/Exchange/SwapError.d.ts +93 -0
  69. package/lib-es/wallet-api/Exchange/SwapError.d.ts.map +1 -0
  70. package/lib-es/wallet-api/Exchange/SwapError.js +128 -0
  71. package/lib-es/wallet-api/Exchange/SwapError.js.map +1 -0
  72. package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts +40 -0
  73. package/lib-es/wallet-api/Exchange/handleSwapErrors.d.ts.map +1 -0
  74. package/lib-es/wallet-api/Exchange/handleSwapErrors.js +106 -0
  75. package/lib-es/wallet-api/Exchange/handleSwapErrors.js.map +1 -0
  76. package/lib-es/wallet-api/Exchange/index.d.ts +4 -0
  77. package/lib-es/wallet-api/Exchange/index.d.ts.map +1 -0
  78. package/lib-es/wallet-api/Exchange/index.js +7 -0
  79. package/lib-es/wallet-api/Exchange/index.js.map +1 -0
  80. package/lib-es/wallet-api/Exchange/parser.d.ts +46 -0
  81. package/lib-es/wallet-api/Exchange/parser.d.ts.map +1 -0
  82. package/lib-es/wallet-api/Exchange/parser.js +90 -0
  83. package/lib-es/wallet-api/Exchange/parser.js.map +1 -0
  84. package/lib-es/wallet-api/Exchange/server.d.ts.map +1 -1
  85. package/lib-es/wallet-api/Exchange/server.js +223 -179
  86. package/lib-es/wallet-api/Exchange/server.js.map +1 -1
  87. package/package.json +73 -73
  88. package/src/__tests__/test-helpers/environment.ts +2 -0
  89. package/src/bridge/generic-alpaca/getAccountShape.ts +4 -2
  90. package/src/bridge/generic-alpaca/prepareTransaction.ts +7 -0
  91. package/src/bridge/generic-alpaca/tests/prepareTransaction.test.ts +42 -0
  92. package/src/exchange/swap/getIncompatibleCurrencyKeys.ts +4 -0
  93. package/src/exchange/swap/transactionStrategies.ts +8 -7
  94. package/src/featureFlags/defaultFeatures.ts +2 -0
  95. package/src/modularDrawer/hooks/useCurrenciesUnderFeatureFlag.ts +6 -0
  96. package/src/wallet-api/Exchange/SwapError.test.ts +126 -0
  97. package/src/wallet-api/Exchange/SwapError.ts +159 -0
  98. package/src/wallet-api/Exchange/handleSwapErrors.test.ts +46 -0
  99. package/src/wallet-api/Exchange/handleSwapErrors.ts +161 -0
  100. package/src/wallet-api/Exchange/index.ts +26 -0
  101. package/src/wallet-api/Exchange/parser.test.ts +86 -0
  102. package/src/wallet-api/Exchange/parser.ts +119 -0
  103. package/src/wallet-api/Exchange/server.ts +287 -238
@@ -16,6 +16,9 @@ import { getSwapStepFromError } from "../../exchange/error";
16
16
  import { postSwapCancelled } from "../../exchange/swap";
17
17
  import { setBroadcastTransaction } from "../../exchange/swap/setBroadcastTransaction";
18
18
  import { padHexString } from "@ledgerhq/hw-app-eth";
19
+ import { createStepError, StepError, toError } from "./parser";
20
+ import { handleErrors } from "./handleSwapErrors";
21
+ import get from "lodash/get";
19
22
  export { ExchangeType };
20
23
  export const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.exchange.start": uiExchangeStart, "custom.exchange.complete": uiExchangeComplete, "custom.exchange.error": uiError, "custom.isReady": uiIsReady, "custom.exchange.swap": uiSwap, }, }) => ({
21
24
  "custom.exchange.start": customWrapper(async (params) => {
@@ -195,177 +198,219 @@ export const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.exch
195
198
  }));
196
199
  }),
197
200
  "custom.exchange.swap": customWrapper(async (params) => {
198
- if (!params) {
199
- tracking.startExchangeNoParams(manifest);
200
- throw new ServerError(createUnknownError({ message: "params is undefined" }));
201
- }
202
- const { provider, fromAmount, fromAmountAtomic, quoteId, toNewTokenId, customFeeConfig, swapAppVersion, sponsored, isEmbedded, } = params;
203
- const trackingParams = {
204
- provider: params.provider,
205
- exchangeType: params.exchangeType,
206
- isEmbeddedSwap: isEmbedded,
207
- };
208
- tracking.startExchangeRequested(trackingParams);
209
- const exchangeStartParams = (await extractSwapStartParam(params, accounts));
210
- const { fromCurrency, fromAccount, fromParentAccount, toCurrency, toAccount, toParentAccount, } = exchangeStartParams.exchange;
211
- if (!fromAccount || !fromCurrency) {
212
- throw new ServerError(createAccountNotFound(params.fromAccountId));
213
- }
214
- const fromAccountAddress = fromParentAccount
215
- ? fromParentAccount.freshAddress
216
- : fromAccount.freshAddress;
217
- const toAccountAddress = toParentAccount
218
- ? toParentAccount.freshAddress
219
- : toAccount.freshAddress;
220
- // Step 1: Open the drawer and open exchange app
221
- const startExchange = async () => {
222
- return new Promise((resolve, reject) => {
223
- uiExchangeStart({
224
- exchangeParams: exchangeStartParams,
225
- onSuccess: (nonce, device) => {
226
- tracking.startExchangeSuccess(trackingParams);
227
- resolve({ transactionId: nonce, device });
228
- },
229
- onCancel: error => {
230
- tracking.startExchangeFail(trackingParams);
231
- reject(error);
232
- },
201
+ try {
202
+ if (!params) {
203
+ tracking.startExchangeNoParams(manifest);
204
+ throw new ServerError(createUnknownError({ message: "params is undefined" }));
205
+ }
206
+ const { provider, fromAmount, fromAmountAtomic, quoteId, toNewTokenId, customFeeConfig, swapAppVersion, sponsored, isEmbedded, } = params;
207
+ const trackingParams = {
208
+ provider: params.provider,
209
+ exchangeType: params.exchangeType,
210
+ isEmbeddedSwap: isEmbedded,
211
+ };
212
+ tracking.startExchangeRequested(trackingParams);
213
+ const exchangeStartParams = (await extractSwapStartParam(params, accounts));
214
+ const { fromCurrency, fromAccount, fromParentAccount, toCurrency, toAccount, toParentAccount, } = exchangeStartParams.exchange;
215
+ if (!fromAccount || !fromCurrency) {
216
+ throw new ServerError(createAccountNotFound(params.fromAccountId));
217
+ }
218
+ const fromAccountAddress = fromParentAccount
219
+ ? fromParentAccount.freshAddress
220
+ : fromAccount.freshAddress;
221
+ const toAccountAddress = toParentAccount
222
+ ? toParentAccount.freshAddress
223
+ : toAccount.freshAddress;
224
+ // Step 1: Open the drawer and open exchange app
225
+ const startExchange = async () => {
226
+ return new Promise((resolve, reject) => {
227
+ uiExchangeStart({
228
+ exchangeParams: exchangeStartParams,
229
+ onSuccess: (nonce, device) => {
230
+ tracking.startExchangeSuccess(trackingParams);
231
+ resolve({ transactionId: nonce, device });
232
+ },
233
+ onCancel: error => {
234
+ tracking.startExchangeFail(trackingParams);
235
+ reject(error);
236
+ },
237
+ });
233
238
  });
239
+ };
240
+ let transactionId;
241
+ let deviceInfo;
242
+ try {
243
+ const result = await startExchange();
244
+ transactionId = result.transactionId;
245
+ deviceInfo = result.device;
246
+ }
247
+ catch (error) {
248
+ const rawError = get(error, "response.data.error", error);
249
+ const wrappedError = createStepError({
250
+ error: toError(rawError),
251
+ step: StepError.NONCE,
252
+ });
253
+ throw wrappedError;
254
+ }
255
+ const { binaryPayload, signature, payinAddress, swapId, payinExtraId, extraTransactionParameters, } = await retrieveSwapPayload({
256
+ provider,
257
+ deviceTransactionId: transactionId,
258
+ fromAccountAddress,
259
+ toAccountAddress,
260
+ fromAccountCurrency: fromCurrency.id,
261
+ toAccountCurrency: toCurrency.id,
262
+ amount: fromAmount,
263
+ amountInAtomicUnit: fromAmountAtomic,
264
+ quoteId,
265
+ toNewTokenId,
266
+ }).catch((error) => {
267
+ const wrappedError = createStepError({
268
+ error: get(error, "response.data.error", error),
269
+ step: StepError.PAYLOAD,
270
+ });
271
+ throw wrappedError;
234
272
  });
235
- };
236
- const { transactionId, device: deviceInfo } = await startExchange();
237
- const { binaryPayload, signature, payinAddress, swapId, payinExtraId, extraTransactionParameters, } = await retrieveSwapPayload({
238
- provider,
239
- deviceTransactionId: transactionId,
240
- fromAccountAddress,
241
- toAccountAddress,
242
- fromAccountCurrency: fromCurrency.id,
243
- toAccountCurrency: toCurrency.id,
244
- amount: fromAmount,
245
- amountInAtomicUnit: fromAmountAtomic,
246
- quoteId,
247
- toNewTokenId,
248
- }).catch((error) => {
249
- throw error;
250
- });
251
- // Complete Swap
252
- const trackingCompleteParams = {
253
- provider: params.provider,
254
- exchangeType: params.exchangeType,
255
- isEmbeddedSwap: isEmbedded,
256
- };
257
- tracking.completeExchangeRequested(trackingCompleteParams);
258
- const strategyData = {
259
- recipient: payinAddress,
260
- amount: fromAmountAtomic,
261
- currency: fromCurrency,
262
- customFeeConfig: customFeeConfig ?? {},
263
- payinExtraId,
264
- extraTransactionParameters,
265
- sponsored,
266
- };
267
- const transaction = await getStrategy(strategyData, "swap").catch(async (error) => {
268
- throw error;
269
- });
270
- const mainFromAccount = getMainAccount(fromAccount, fromParentAccount);
271
- if (transaction.family !== mainFromAccount.currency.family) {
272
- return Promise.reject(new Error(`Account and transaction must be from the same family. Account family: ${mainFromAccount.currency.family}, Transaction family: ${transaction.family}`));
273
- }
274
- const accountBridge = getAccountBridge(fromAccount, fromParentAccount);
275
- /**
276
- * 'subAccountId' is used for ETH and it's ERC-20 tokens.
277
- * This field is ignored for BTC
278
- */
279
- const subAccountId = fromParentAccount && fromParentAccount.id !== fromAccount.id ? fromAccount.id : undefined;
280
- const bridgeTx = accountBridge.createTransaction(fromAccount);
281
- /**
282
- * We append the `recipient` to the tx created from `createTransaction`
283
- * to avoid having userGasLimit reset to null for ETH txs
284
- * cf. libs/ledger-live-common/src/families/ethereum/updateTransaction.ts
285
- */
286
- const tx = accountBridge.updateTransaction({
287
- ...bridgeTx,
288
- recipient: transaction.recipient,
289
- }, {
290
- ...transaction,
291
- feesStrategy: params.feeStrategy.toLowerCase(),
292
- subAccountId,
293
- });
294
- // Get amountExpectedTo and magnitudeAwareRate from binary payload
295
- const decodePayload = await decodeSwapPayload(binaryPayload);
296
- const amountExpectedTo = new BigNumber(decodePayload.amountToWallet.toString());
297
- const magnitudeAwareRate = tx.amount && amountExpectedTo.dividedBy(tx.amount);
298
- const refundAddress = decodePayload.refundAddress;
299
- const payoutAddress = decodePayload.payoutAddress;
300
- // tx.amount should be BigNumber
301
- tx.amount = new BigNumber(tx.amount);
302
- return new Promise((resolve, reject) => uiSwap({
303
- exchangeParams: {
304
- exchangeType: ExchangeType.SWAP,
273
+ // Complete Swap
274
+ const trackingCompleteParams = {
305
275
  provider: params.provider,
306
- transaction: tx,
307
- signature: signature,
308
- binaryPayload: binaryPayload,
309
- exchange: {
310
- fromAccount,
311
- fromParentAccount,
312
- toAccount,
313
- toParentAccount,
314
- fromCurrency: fromCurrency,
315
- toCurrency: toCurrency,
316
- },
317
- feesStrategy: params.feeStrategy,
318
- swapId: swapId,
319
- amountExpectedTo: amountExpectedTo.toNumber(),
320
- magnitudeAwareRate,
321
- refundAddress,
322
- payoutAddress,
276
+ exchangeType: params.exchangeType,
277
+ isEmbeddedSwap: isEmbedded,
278
+ };
279
+ tracking.completeExchangeRequested(trackingCompleteParams);
280
+ const strategyData = {
281
+ recipient: payinAddress,
282
+ amount: fromAmountAtomic,
283
+ currency: fromCurrency,
284
+ customFeeConfig: customFeeConfig ?? {},
285
+ payinExtraId,
286
+ extraTransactionParameters,
323
287
  sponsored,
324
- },
325
- onSuccess: ({ operationHash, swapId }) => {
326
- tracking.completeExchangeSuccess({
327
- ...trackingParams,
328
- currency: transaction.family,
329
- });
330
- setBroadcastTransaction({
331
- provider,
332
- result: { operation: operationHash, swapId },
333
- sourceCurrencyId: fromCurrency.id,
334
- targetCurrencyId: toCurrency?.id,
335
- hardwareWalletType: deviceInfo?.modelId,
336
- swapAppVersion,
337
- fromAccountAddress,
338
- toAccountAddress,
339
- fromAmount,
340
- });
341
- resolve({ operationHash, swapId });
342
- },
343
- onCancel: error => {
344
- postSwapCancelled({
345
- provider: provider,
288
+ };
289
+ const transaction = await getStrategy(strategyData, "swap");
290
+ const mainFromAccount = getMainAccount(fromAccount, fromParentAccount);
291
+ if (transaction.family !== mainFromAccount.currency.family) {
292
+ return Promise.reject(new Error(`Account and transaction must be from the same family. Account family: ${mainFromAccount.currency.family}, Transaction family: ${transaction.family}`));
293
+ }
294
+ const accountBridge = getAccountBridge(fromAccount, fromParentAccount);
295
+ /**
296
+ * 'subAccountId' is used for ETH and it's ERC-20 tokens.
297
+ * This field is ignored for BTC
298
+ */
299
+ const subAccountId = fromParentAccount && fromParentAccount.id !== fromAccount.id ? fromAccount.id : undefined;
300
+ const bridgeTx = accountBridge.createTransaction(fromAccount);
301
+ /**
302
+ * We append the `recipient` to the tx created from `createTransaction`
303
+ * to avoid having userGasLimit reset to null for ETH txs
304
+ * cf. libs/ledger-live-common/src/families/ethereum/updateTransaction.ts
305
+ */
306
+ const tx = accountBridge.updateTransaction({
307
+ ...bridgeTx,
308
+ recipient: transaction.recipient,
309
+ }, {
310
+ ...transaction,
311
+ feesStrategy: params.feeStrategy.toLowerCase(),
312
+ subAccountId,
313
+ });
314
+ // Get amountExpectedTo and magnitudeAwareRate from binary payload
315
+ const decodePayload = await decodeSwapPayload(binaryPayload);
316
+ const amountExpectedTo = new BigNumber(decodePayload.amountToWallet.toString());
317
+ const magnitudeAwareRate = tx.amount && amountExpectedTo.dividedBy(tx.amount);
318
+ const refundAddress = decodePayload.refundAddress;
319
+ const payoutAddress = decodePayload.payoutAddress;
320
+ // tx.amount should be BigNumber
321
+ tx.amount = new BigNumber(tx.amount);
322
+ return new Promise((resolve, reject) => uiSwap({
323
+ exchangeParams: {
324
+ exchangeType: ExchangeType.SWAP,
325
+ provider: params.provider,
326
+ transaction: tx,
327
+ signature: signature,
328
+ binaryPayload: binaryPayload,
329
+ exchange: {
330
+ fromAccount,
331
+ fromParentAccount,
332
+ toAccount,
333
+ toParentAccount,
334
+ fromCurrency: fromCurrency,
335
+ toCurrency: toCurrency,
336
+ },
337
+ feesStrategy: params.feeStrategy,
346
338
  swapId: swapId,
347
- swapStep: getSwapStepFromError(error),
348
- statusCode: error.name,
349
- errorMessage: error.message,
350
- sourceCurrencyId: fromCurrency.id,
351
- targetCurrencyId: toCurrency?.id,
352
- hardwareWalletType: deviceInfo?.modelId,
353
- swapType: quoteId ? "fixed" : "float",
354
- swapAppVersion,
355
- fromAccountAddress,
356
- toAccountAddress,
339
+ amountExpectedTo: amountExpectedTo.toNumber(),
340
+ magnitudeAwareRate,
357
341
  refundAddress,
358
342
  payoutAddress,
359
- fromAmount,
360
- seedIdFrom: mainFromAccount.seedIdentifier,
361
- seedIdTo: toParentAccount?.seedIdentifier || toAccount?.seedIdentifier,
362
- data: transaction.data
363
- ? `0x${padHexString(transaction.data?.toString("hex") || "")}`
364
- : "0x",
343
+ sponsored,
344
+ },
345
+ onSuccess: ({ operationHash, swapId }) => {
346
+ tracking.completeExchangeSuccess({
347
+ ...trackingParams,
348
+ currency: transaction.family,
349
+ });
350
+ setBroadcastTransaction({
351
+ provider,
352
+ result: { operation: operationHash, swapId },
353
+ sourceCurrencyId: fromCurrency.id,
354
+ targetCurrencyId: toCurrency?.id,
355
+ hardwareWalletType: deviceInfo?.modelId,
356
+ swapAppVersion,
357
+ fromAccountAddress,
358
+ toAccountAddress,
359
+ fromAmount,
360
+ });
361
+ resolve({ operationHash, swapId });
362
+ },
363
+ onCancel: error => {
364
+ postSwapCancelled({
365
+ provider: provider,
366
+ swapId: swapId,
367
+ swapStep: getSwapStepFromError(error),
368
+ statusCode: error.name,
369
+ errorMessage: error.message,
370
+ sourceCurrencyId: fromCurrency.id,
371
+ targetCurrencyId: toCurrency?.id,
372
+ hardwareWalletType: deviceInfo?.modelId,
373
+ swapType: quoteId ? "fixed" : "float",
374
+ swapAppVersion,
375
+ fromAccountAddress,
376
+ toAccountAddress,
377
+ refundAddress,
378
+ payoutAddress,
379
+ fromAmount,
380
+ seedIdFrom: mainFromAccount.seedIdentifier,
381
+ seedIdTo: toParentAccount?.seedIdentifier || toAccount?.seedIdentifier,
382
+ data: transaction.data
383
+ ? `0x${padHexString(transaction.data?.toString("hex") || "")}`
384
+ : "0x",
385
+ });
386
+ reject(createStepError({ error, step: StepError.SIGNATURE }));
387
+ },
388
+ }));
389
+ }
390
+ catch (error) {
391
+ // Skip DrawerClosedError
392
+ // do not redirect to the error screen
393
+ if (isDrawerClosedError(error)) {
394
+ throw error;
395
+ }
396
+ // Global catch for any errors during the swap process
397
+ // moved out as sonarcloud suggested to avoid 4 level nested functions
398
+ const createErrorRejector = (error, reject) => {
399
+ return () => reject(error);
400
+ };
401
+ const displayError = (error) => new Promise((resolve, reject) => {
402
+ const rejectWithError = createErrorRejector(error, reject);
403
+ uiError({
404
+ error,
405
+ onSuccess: rejectWithError,
406
+ onCancel: rejectWithError,
365
407
  });
366
- reject(error);
367
- },
368
- }));
408
+ });
409
+ await handleErrors(error, {
410
+ onDisplayError: displayError,
411
+ });
412
+ throw error;
413
+ }
369
414
  }),
370
415
  "custom.isReady": customWrapper(async () => {
371
416
  return new Promise((resolve, reject) => uiIsReady({
@@ -509,21 +554,20 @@ async function getStrategy({ recipient, amount, currency, customFeeConfig, payin
509
554
  convertedCustomFeeConfig[key] = new BigNumber(value?.toString() || 0);
510
555
  }
511
556
  }
512
- try {
513
- return await strategy({
514
- family,
515
- amount: new BigNumber(amount),
516
- recipient,
517
- customFeeConfig: convertedCustomFeeConfig,
518
- payinExtraId,
519
- extraTransactionParameters,
520
- customErrorType,
521
- sponsored,
522
- });
523
- }
524
- catch (error) {
525
- const errorMessage = error instanceof Error ? error.message : String(error);
526
- throw new Error(`Failed to execute transaction strategy for family: ${family}. Reason: ${errorMessage}`);
527
- }
557
+ return strategy({
558
+ family,
559
+ amount: new BigNumber(amount),
560
+ recipient,
561
+ customFeeConfig: convertedCustomFeeConfig,
562
+ payinExtraId,
563
+ extraTransactionParameters,
564
+ customErrorType,
565
+ sponsored,
566
+ });
567
+ }
568
+ function isDrawerClosedError(error) {
569
+ if (!error || typeof error !== "object")
570
+ return false;
571
+ return (get(error, "name") === "DrawerClosedError" || get(error, "cause.name") === "DrawerClosedError");
528
572
  }
529
573
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/wallet-api/Exchange/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/wallet-api/Exchange/server.ts"],"names":[],"mappings":"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"}