@ledgerhq/live-common 34.53.0-nightly.20251122023607 → 34.53.0-nightly.20251125023817

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/Exchange/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/Exchange/server.ts"],"names":[],"mappings":"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"}
@@ -194,172 +194,194 @@ export const handlers = ({ accounts, tracking, manifest, uiHooks: { "custom.exch
194
194
  }));
195
195
  }),
196
196
  "custom.exchange.swap": customWrapper(async (params) => {
197
- if (!params) {
198
- tracking.startExchangeNoParams(manifest);
199
- throw new ServerError(createUnknownError({ message: "params is undefined" }));
200
- }
201
- const { provider, fromAmount, fromAmountAtomic, quoteId, toNewTokenId, customFeeConfig, swapAppVersion, sponsored, } = params;
202
- const trackingParams = {
203
- provider: params.provider,
204
- exchangeType: params.exchangeType,
205
- };
206
- tracking.startExchangeRequested(trackingParams);
207
- const exchangeStartParams = (await extractSwapStartParam(params, accounts));
208
- const { fromCurrency, fromAccount, fromParentAccount, toCurrency, toAccount, toParentAccount, } = exchangeStartParams.exchange;
209
- if (!fromAccount || !fromCurrency) {
210
- throw new ServerError(createAccountNotFound(params.fromAccountId));
211
- }
212
- const fromAccountAddress = fromParentAccount
213
- ? fromParentAccount.freshAddress
214
- : fromAccount.freshAddress;
215
- const toAccountAddress = toParentAccount
216
- ? toParentAccount.freshAddress
217
- : toAccount.freshAddress;
218
- // Step 1: Open the drawer and open exchange app
219
- const startExchange = async () => {
220
- return new Promise((resolve, reject) => {
221
- uiExchangeStart({
222
- exchangeParams: exchangeStartParams,
223
- onSuccess: (nonce, device) => {
224
- tracking.startExchangeSuccess(trackingParams);
225
- resolve({ transactionId: nonce, device });
226
- },
227
- onCancel: error => {
228
- tracking.startExchangeFail(trackingParams);
229
- reject(error);
230
- },
197
+ try {
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, } = params;
203
+ const trackingParams = {
204
+ provider: params.provider,
205
+ exchangeType: params.exchangeType,
206
+ };
207
+ tracking.startExchangeRequested(trackingParams);
208
+ const exchangeStartParams = (await extractSwapStartParam(params, accounts));
209
+ const { fromCurrency, fromAccount, fromParentAccount, toCurrency, toAccount, toParentAccount, } = exchangeStartParams.exchange;
210
+ if (!fromAccount || !fromCurrency) {
211
+ throw new ServerError(createAccountNotFound(params.fromAccountId));
212
+ }
213
+ const fromAccountAddress = fromParentAccount
214
+ ? fromParentAccount.freshAddress
215
+ : fromAccount.freshAddress;
216
+ const toAccountAddress = toParentAccount
217
+ ? toParentAccount.freshAddress
218
+ : toAccount.freshAddress;
219
+ // Step 1: Open the drawer and open exchange app
220
+ const startExchange = async () => {
221
+ return new Promise((resolve, reject) => {
222
+ uiExchangeStart({
223
+ exchangeParams: exchangeStartParams,
224
+ onSuccess: (nonce, device) => {
225
+ tracking.startExchangeSuccess(trackingParams);
226
+ resolve({ transactionId: nonce, device });
227
+ },
228
+ onCancel: error => {
229
+ tracking.startExchangeFail(trackingParams);
230
+ reject(error);
231
+ },
232
+ });
231
233
  });
234
+ };
235
+ const { transactionId, device: deviceInfo } = await startExchange();
236
+ const { binaryPayload, signature, payinAddress, swapId, payinExtraId, extraTransactionParameters, } = await retrieveSwapPayload({
237
+ provider,
238
+ deviceTransactionId: transactionId,
239
+ fromAccountAddress,
240
+ toAccountAddress,
241
+ fromAccountCurrency: fromCurrency.id,
242
+ toAccountCurrency: toCurrency.id,
243
+ amount: fromAmount,
244
+ amountInAtomicUnit: fromAmountAtomic,
245
+ quoteId,
246
+ toNewTokenId,
247
+ }).catch((error) => {
248
+ throw error;
232
249
  });
233
- };
234
- const { transactionId, device: deviceInfo } = await startExchange();
235
- const { binaryPayload, signature, payinAddress, swapId, payinExtraId, extraTransactionParameters, } = await retrieveSwapPayload({
236
- provider,
237
- deviceTransactionId: transactionId,
238
- fromAccountAddress,
239
- toAccountAddress,
240
- fromAccountCurrency: fromCurrency.id,
241
- toAccountCurrency: toCurrency.id,
242
- amount: fromAmount,
243
- amountInAtomicUnit: fromAmountAtomic,
244
- quoteId,
245
- toNewTokenId,
246
- }).catch((error) => {
247
- throw error;
248
- });
249
- // Complete Swap
250
- const trackingCompleteParams = {
251
- provider: params.provider,
252
- exchangeType: params.exchangeType,
253
- };
254
- tracking.completeExchangeRequested(trackingCompleteParams);
255
- const strategyData = {
256
- recipient: payinAddress,
257
- amount: fromAmountAtomic,
258
- currency: fromCurrency,
259
- customFeeConfig: customFeeConfig ?? {},
260
- payinExtraId,
261
- extraTransactionParameters,
262
- sponsored,
263
- };
264
- const transaction = await getStrategy(strategyData, "swap").catch(async (error) => {
265
- throw error;
266
- });
267
- const mainFromAccount = getMainAccount(fromAccount, fromParentAccount);
268
- if (transaction.family !== mainFromAccount.currency.family) {
269
- return Promise.reject(new Error(`Account and transaction must be from the same family. Account family: ${mainFromAccount.currency.family}, Transaction family: ${transaction.family}`));
270
- }
271
- const accountBridge = getAccountBridge(fromAccount, fromParentAccount);
272
- /**
273
- * 'subAccountId' is used for ETH and it's ERC-20 tokens.
274
- * This field is ignored for BTC
275
- */
276
- const subAccountId = fromParentAccount && fromParentAccount.id !== fromAccount.id ? fromAccount.id : undefined;
277
- const bridgeTx = accountBridge.createTransaction(fromAccount);
278
- /**
279
- * We append the `recipient` to the tx created from `createTransaction`
280
- * to avoid having userGasLimit reset to null for ETH txs
281
- * cf. libs/ledger-live-common/src/families/ethereum/updateTransaction.ts
282
- */
283
- const tx = accountBridge.updateTransaction({
284
- ...bridgeTx,
285
- recipient: transaction.recipient,
286
- }, {
287
- ...transaction,
288
- feesStrategy: params.feeStrategy.toLowerCase(),
289
- subAccountId,
290
- });
291
- // Get amountExpectedTo and magnitudeAwareRate from binary payload
292
- const decodePayload = await decodeSwapPayload(binaryPayload);
293
- const amountExpectedTo = new BigNumber(decodePayload.amountToWallet.toString());
294
- const magnitudeAwareRate = tx.amount && amountExpectedTo.dividedBy(tx.amount);
295
- const refundAddress = decodePayload.refundAddress;
296
- const payoutAddress = decodePayload.payoutAddress;
297
- // tx.amount should be BigNumber
298
- tx.amount = new BigNumber(tx.amount);
299
- return new Promise((resolve, reject) => uiSwap({
300
- exchangeParams: {
301
- exchangeType: ExchangeType.SWAP,
250
+ // Complete Swap
251
+ const trackingCompleteParams = {
302
252
  provider: params.provider,
303
- transaction: tx,
304
- signature: signature,
305
- binaryPayload: binaryPayload,
306
- exchange: {
307
- fromAccount,
308
- fromParentAccount,
309
- toAccount,
310
- toParentAccount,
311
- fromCurrency: fromCurrency,
312
- toCurrency: toCurrency,
313
- },
314
- feesStrategy: params.feeStrategy,
315
- swapId: swapId,
316
- amountExpectedTo: amountExpectedTo.toNumber(),
317
- magnitudeAwareRate,
318
- refundAddress,
319
- payoutAddress,
253
+ exchangeType: params.exchangeType,
254
+ };
255
+ tracking.completeExchangeRequested(trackingCompleteParams);
256
+ const strategyData = {
257
+ recipient: payinAddress,
258
+ amount: fromAmountAtomic,
259
+ currency: fromCurrency,
260
+ customFeeConfig: customFeeConfig ?? {},
261
+ payinExtraId,
262
+ extraTransactionParameters,
320
263
  sponsored,
321
- },
322
- onSuccess: ({ operationHash, swapId }) => {
323
- tracking.completeExchangeSuccess({
324
- ...trackingParams,
325
- currency: transaction.family,
326
- });
327
- setBroadcastTransaction({
328
- provider,
329
- result: { operation: operationHash, swapId },
330
- sourceCurrencyId: fromCurrency.id,
331
- targetCurrencyId: toCurrency?.id,
332
- hardwareWalletType: deviceInfo?.modelId,
333
- swapAppVersion,
334
- fromAccountAddress,
335
- toAccountAddress,
336
- fromAmount,
337
- });
338
- resolve({ operationHash, swapId });
339
- },
340
- onCancel: error => {
341
- postSwapCancelled({
342
- provider: provider,
264
+ };
265
+ const transaction = await getStrategy(strategyData, "swap").catch(async (error) => {
266
+ throw error;
267
+ });
268
+ const mainFromAccount = getMainAccount(fromAccount, fromParentAccount);
269
+ if (transaction.family !== mainFromAccount.currency.family) {
270
+ return Promise.reject(new Error(`Account and transaction must be from the same family. Account family: ${mainFromAccount.currency.family}, Transaction family: ${transaction.family}`));
271
+ }
272
+ const accountBridge = getAccountBridge(fromAccount, fromParentAccount);
273
+ /**
274
+ * 'subAccountId' is used for ETH and it's ERC-20 tokens.
275
+ * This field is ignored for BTC
276
+ */
277
+ const subAccountId = fromParentAccount && fromParentAccount.id !== fromAccount.id ? fromAccount.id : undefined;
278
+ const bridgeTx = accountBridge.createTransaction(fromAccount);
279
+ /**
280
+ * We append the `recipient` to the tx created from `createTransaction`
281
+ * to avoid having userGasLimit reset to null for ETH txs
282
+ * cf. libs/ledger-live-common/src/families/ethereum/updateTransaction.ts
283
+ */
284
+ const tx = accountBridge.updateTransaction({
285
+ ...bridgeTx,
286
+ recipient: transaction.recipient,
287
+ }, {
288
+ ...transaction,
289
+ feesStrategy: params.feeStrategy.toLowerCase(),
290
+ subAccountId,
291
+ });
292
+ // Get amountExpectedTo and magnitudeAwareRate from binary payload
293
+ const decodePayload = await decodeSwapPayload(binaryPayload);
294
+ const amountExpectedTo = new BigNumber(decodePayload.amountToWallet.toString());
295
+ const magnitudeAwareRate = tx.amount && amountExpectedTo.dividedBy(tx.amount);
296
+ const refundAddress = decodePayload.refundAddress;
297
+ const payoutAddress = decodePayload.payoutAddress;
298
+ // tx.amount should be BigNumber
299
+ tx.amount = new BigNumber(tx.amount);
300
+ return new Promise((resolve, reject) => uiSwap({
301
+ exchangeParams: {
302
+ exchangeType: ExchangeType.SWAP,
303
+ provider: params.provider,
304
+ transaction: tx,
305
+ signature: signature,
306
+ binaryPayload: binaryPayload,
307
+ exchange: {
308
+ fromAccount,
309
+ fromParentAccount,
310
+ toAccount,
311
+ toParentAccount,
312
+ fromCurrency: fromCurrency,
313
+ toCurrency: toCurrency,
314
+ },
315
+ feesStrategy: params.feeStrategy,
343
316
  swapId: swapId,
344
- swapStep: getSwapStepFromError(error),
345
- statusCode: error.name,
346
- errorMessage: error.message,
347
- sourceCurrencyId: fromCurrency.id,
348
- targetCurrencyId: toCurrency?.id,
349
- hardwareWalletType: deviceInfo?.modelId,
350
- swapType: quoteId ? "fixed" : "float",
351
- swapAppVersion,
352
- fromAccountAddress,
353
- toAccountAddress,
317
+ amountExpectedTo: amountExpectedTo.toNumber(),
318
+ magnitudeAwareRate,
354
319
  refundAddress,
355
320
  payoutAddress,
356
- fromAmount,
357
- seedIdFrom: mainFromAccount.seedIdentifier,
358
- seedIdTo: toParentAccount?.seedIdentifier || toAccount?.seedIdentifier,
321
+ sponsored,
322
+ },
323
+ onSuccess: ({ operationHash, swapId }) => {
324
+ tracking.completeExchangeSuccess({
325
+ ...trackingParams,
326
+ currency: transaction.family,
327
+ });
328
+ setBroadcastTransaction({
329
+ provider,
330
+ result: { operation: operationHash, swapId },
331
+ sourceCurrencyId: fromCurrency.id,
332
+ targetCurrencyId: toCurrency?.id,
333
+ hardwareWalletType: deviceInfo?.modelId,
334
+ swapAppVersion,
335
+ fromAccountAddress,
336
+ toAccountAddress,
337
+ fromAmount,
338
+ });
339
+ resolve({ operationHash, swapId });
340
+ },
341
+ onCancel: error => {
342
+ postSwapCancelled({
343
+ provider: provider,
344
+ swapId: swapId,
345
+ swapStep: getSwapStepFromError(error),
346
+ statusCode: error.name,
347
+ errorMessage: error.message,
348
+ sourceCurrencyId: fromCurrency.id,
349
+ targetCurrencyId: toCurrency?.id,
350
+ hardwareWalletType: deviceInfo?.modelId,
351
+ swapType: quoteId ? "fixed" : "float",
352
+ swapAppVersion,
353
+ fromAccountAddress,
354
+ toAccountAddress,
355
+ refundAddress,
356
+ payoutAddress,
357
+ fromAmount,
358
+ seedIdFrom: mainFromAccount.seedIdentifier,
359
+ seedIdTo: toParentAccount?.seedIdentifier || toAccount?.seedIdentifier,
360
+ });
361
+ reject(error);
362
+ },
363
+ }));
364
+ }
365
+ catch (error) {
366
+ // Skip DrawerClosedError
367
+ if (isDrawerClosedError(error)) {
368
+ throw error;
369
+ }
370
+ // Global catch for any errors during the swap process
371
+ // Convert the error to SwapLiveError format for WebviewErrorDrawer
372
+ const swapError = getSwapError(error);
373
+ return new Promise((resolve, reject) => {
374
+ uiError({
375
+ error: swapError,
376
+ onSuccess: () => {
377
+ reject(error);
378
+ },
379
+ onCancel: () => {
380
+ reject(error);
381
+ },
359
382
  });
360
- reject(error);
361
- },
362
- }));
383
+ });
384
+ }
363
385
  }),
364
386
  "custom.isReady": customWrapper(async () => {
365
387
  return new Promise((resolve, reject) => uiIsReady({
@@ -520,4 +542,49 @@ async function getStrategy({ recipient, amount, currency, customFeeConfig, payin
520
542
  throw new Error(`Failed to execute transaction strategy for family: ${family}. Reason: ${errorMessage}`);
521
543
  }
522
544
  }
545
+ function isDrawerClosedError(error) {
546
+ return (error && typeof error === "object" && "name" in error && error.name === "DrawerClosedError");
547
+ }
548
+ function getSwapError(error) {
549
+ let swapError;
550
+ if (typeof error === "object" && error !== null) {
551
+ const err = error;
552
+ // Handle Axios error format: error.response.data.error
553
+ const apiError = err.response?.data?.error || err.error;
554
+ const errorMessage = apiError?.message || err.message || (err instanceof Error ? err.message : String(error));
555
+ const messageKey = apiError?.messageKey || err.messageKey;
556
+ // Create a plain object with only serializable properties to avoid analytics issues
557
+ // Preserve the original error structure for WebviewErrorDrawer to parse
558
+ // It checks error.cause.response.data.error.messageKey (line 96)
559
+ swapError = Object.assign(Object.create(null), {
560
+ message: err.message,
561
+ name: err.name,
562
+ code: err.code,
563
+ status: err.status,
564
+ swap: err.swap,
565
+ cause: {
566
+ message: errorMessage,
567
+ swapCode: apiError?.code,
568
+ response: {
569
+ data: {
570
+ error: {
571
+ messageKey: messageKey,
572
+ message: errorMessage,
573
+ },
574
+ },
575
+ },
576
+ },
577
+ });
578
+ // Add hasOwnProperty method to the plain object
579
+ Object.setPrototypeOf(swapError, Object.prototype);
580
+ }
581
+ else {
582
+ swapError = {
583
+ cause: {
584
+ message: error instanceof Error ? error.message : String(error),
585
+ },
586
+ };
587
+ }
588
+ return swapError;
589
+ }
523
590
  //# 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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"}