@ledgerhq/live-cli 24.28.0-nightly.20251120135143 → 24.28.0-nightly.20251122023607

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 (2) hide show
  1. package/lib/cli.js +105 -74
  2. package/package.json +2 -2
package/lib/cli.js CHANGED
@@ -520455,7 +520455,7 @@ var require_package7 = __commonJS({
520455
520455
  module2.exports = {
520456
520456
  name: "@ledgerhq/live-common",
520457
520457
  description: "Common ground for the Ledger Live apps",
520458
- version: "34.53.0-nightly.20251120135143",
520458
+ version: "34.53.0-nightly.20251122023607",
520459
520459
  repository: {
520460
520460
  type: "git",
520461
520461
  url: "https://github.com/LedgerHQ/ledger-live.git"
@@ -520808,7 +520808,7 @@ var require_package8 = __commonJS({
520808
520808
  "package.json"(exports2, module2) {
520809
520809
  module2.exports = {
520810
520810
  name: "@ledgerhq/live-cli",
520811
- version: "24.28.0-nightly.20251120135143",
520811
+ version: "24.28.0-nightly.20251122023607",
520812
520812
  description: "ledger-live CLI version",
520813
520813
  repository: {
520814
520814
  type: "git",
@@ -566217,14 +566217,14 @@ function transactionsToOperations(address3, txs) {
566217
566217
  }
566218
566218
 
566219
566219
  // ../../libs/coin-modules/coin-aptos/lib-es/bridge/logic.js
566220
- var getMaxSendBalance = (account3, transaction, gas, gasPrice) => {
566221
- const tokenAccount = findSubAccountById(account3, transaction?.subAccountId ?? "");
566222
- const fromTokenAccount = tokenAccount && isTokenAccount(tokenAccount);
566220
+ var getMaxSendBalance = (account3, parentAccount, gas, gasPrice) => {
566223
566221
  gas = gas ?? (0, import_bignumber57.default)(DEFAULT_GAS);
566224
566222
  gasPrice = gasPrice ?? (0, import_bignumber57.default)(DEFAULT_GAS_PRICE);
566225
566223
  const totalGas = gas.multipliedBy(gasPrice);
566226
- return fromTokenAccount ? tokenAccount.spendableBalance : account3.spendableBalance.gt(totalGas) ? account3.spendableBalance.minus(totalGas) : new import_bignumber57.default(0);
566224
+ return parentAccount ? getMaxSendBalanceFromTokenAccount(account3, totalGas) : getMaxSendBalanceFromAccount(account3, totalGas);
566227
566225
  };
566226
+ var getMaxSendBalanceFromTokenAccount = (tokenAccount, totalGas) => tokenAccount.spendableBalance.gt(totalGas) ? tokenAccount.spendableBalance.minus(totalGas) : new import_bignumber57.default(0);
566227
+ var getMaxSendBalanceFromAccount = (account3, totalGas) => account3.spendableBalance.gt(totalGas) ? account3.spendableBalance.minus(totalGas) : new import_bignumber57.default(0);
566228
566228
  var getBlankOperation = (tx, id5) => ({
566229
566229
  id: "",
566230
566230
  hash: tx.hash,
@@ -579591,7 +579591,7 @@ var estimateMaxSpendable2 = async ({ account: account3, parentAccount, transacti
579591
579591
  maxGasAmount = (0, import_bignumber62.BigNumber)(estimate5.maxGasAmount);
579592
579592
  gasUnitPrice = (0, import_bignumber62.BigNumber)(estimate5.gasUnitPrice);
579593
579593
  }
579594
- return getMaxSendBalance(mainAccount, transaction, maxGasAmount, gasUnitPrice);
579594
+ return getMaxSendBalance(account3, parentAccount, maxGasAmount, gasUnitPrice);
579595
579595
  };
579596
579596
  var estimateMaxSpendable_default = estimateMaxSpendable2;
579597
579597
 
@@ -579626,13 +579626,14 @@ var prepareTransaction2 = async (account3, transaction) => {
579626
579626
  };
579627
579627
  }
579628
579628
  const aptosClient2 = new AptosAPI(account3.currency.id);
579629
+ const tokenAccount = findSubAccountById(account3, transaction?.subAccountId ?? "");
579629
579630
  if (transaction.useAllAmount) {
579630
579631
  if (transaction.mode === "send") {
579631
- transaction.amount = getMaxSendBalance(account3, transaction);
579632
+ transaction.amount = getMaxSendBalance(tokenAccount || account3, account3);
579632
579633
  } else if (transaction.mode === "restake" || transaction.mode === "unstake" || transaction.mode === "withdraw") {
579633
579634
  transaction.amount = getDelegationOpMaxAmount(account3, transaction.recipient, transaction.mode);
579634
579635
  } else if (transaction.mode === "stake") {
579635
- transaction.amount = getMaxSendBalance(account3, transaction).minus(APTOS_DELEGATION_RESERVE_IN_OCTAS);
579636
+ transaction.amount = getMaxSendBalance(tokenAccount || account3, account3).minus(APTOS_DELEGATION_RESERVE_IN_OCTAS);
579636
579637
  }
579637
579638
  }
579638
579639
  const { fees: fees2, estimate: estimate5, errors: errors2 } = await getEstimatedGas(account3, transaction, aptosClient2);
@@ -592807,6 +592808,55 @@ var handleDeviceErrors = (error) => {
592807
592808
  return null;
592808
592809
  };
592809
592810
 
592811
+ // ../../libs/coin-modules/coin-canton/lib-es/bridge/serialization.js
592812
+ function isCantonAccount(account3) {
592813
+ return "cantonResources" in account3;
592814
+ }
592815
+ function isCantonAccountRaw(accountRaw) {
592816
+ return "cantonResources" in accountRaw;
592817
+ }
592818
+ function toResourcesRaw2(r49) {
592819
+ const { instrumentUtxoCounts, pendingTransferProposals } = r49;
592820
+ return {
592821
+ instrumentUtxoCounts,
592822
+ pendingTransferProposals
592823
+ };
592824
+ }
592825
+ function fromResourcesRaw2(r49) {
592826
+ return {
592827
+ instrumentUtxoCounts: r49.instrumentUtxoCounts,
592828
+ pendingTransferProposals: r49.pendingTransferProposals
592829
+ };
592830
+ }
592831
+ function assignToAccountRaw5(account3, accountRaw) {
592832
+ if (isCantonAccount(account3) && isCantonAccountRaw(accountRaw)) {
592833
+ if (account3.cantonResources) {
592834
+ accountRaw.cantonResources = toResourcesRaw2(account3.cantonResources);
592835
+ }
592836
+ }
592837
+ }
592838
+ function assignFromAccountRaw5(accountRaw, account3) {
592839
+ if (isCantonAccountRaw(accountRaw) && isCantonAccount(account3)) {
592840
+ if (accountRaw.cantonResources) {
592841
+ account3.cantonResources = fromResourcesRaw2(accountRaw.cantonResources);
592842
+ }
592843
+ }
592844
+ }
592845
+
592846
+ // ../../libs/coin-modules/coin-canton/lib-es/helpers.js
592847
+ function isCantonAccountEmpty(account3) {
592848
+ return account3.operationsCount === 0 && account3.balance.isZero() && !account3.subAccounts?.length && !account3.cantonResources?.pendingTransferProposals?.length;
592849
+ }
592850
+ function isAccountEmpty2(account3) {
592851
+ if (account3.type !== "Account") {
592852
+ return false;
592853
+ }
592854
+ if (!isCantonAccount(account3)) {
592855
+ return false;
592856
+ }
592857
+ return isCantonAccountEmpty(account3);
592858
+ }
592859
+
592810
592860
  // ../../libs/coin-modules/coin-canton/lib-es/bridge/sync.js
592811
592861
  var txInfoToOperationAdapter = (accountId2, partyId) => (txInfo) => {
592812
592862
  const { transaction_hash, uid, block: { height, hash: hash10 }, senders, recipients, transaction_timestamp, fee: { value: fee }, transfers: [{ value: transferValue, details }] } = txInfo;
@@ -592900,8 +592950,15 @@ function makeGetAccountShape3(signerContext4) {
592900
592950
  const newOperations = filterOperations(transactionData.operations, accountId2, xpubOrAddress);
592901
592951
  operations4 = mergeOps(oldOperations, newOperations);
592902
592952
  }
592903
- const isPreapproved = xpubOrAddress ? await isCantonCoinPreapproved(currency24, xpubOrAddress) : false;
592904
- const used = isPreapproved && totalBalance.gt(0);
592953
+ const used = !isCantonAccountEmpty({
592954
+ operationsCount: operations4.length,
592955
+ balance: totalBalance,
592956
+ subAccounts: initialAccount?.subAccounts ?? [],
592957
+ cantonResources: {
592958
+ instrumentUtxoCounts,
592959
+ pendingTransferProposals
592960
+ }
592961
+ });
592905
592962
  const blockHeight = await getLedgerEnd(currency24);
592906
592963
  const creationDate = operations4.length > 0 ? new Date(Math.min(...operations4.map((op) => op.date.getTime()))) : /* @__PURE__ */ new Date();
592907
592964
  const shape = {
@@ -592940,41 +592997,6 @@ var buildTransferInstruction = (signerContext4) => async (currency24, deviceId,
592940
592997
  await submitTransferInstruction(currency24, partyId, preparedTransaction.serialized, signature5);
592941
592998
  };
592942
592999
 
592943
- // ../../libs/coin-modules/coin-canton/lib-es/bridge/serialization.js
592944
- function isCantonAccount(account3) {
592945
- return "cantonResources" in account3;
592946
- }
592947
- function isCantonAccountRaw(accountRaw) {
592948
- return "cantonResources" in accountRaw;
592949
- }
592950
- function toResourcesRaw2(r49) {
592951
- const { instrumentUtxoCounts, pendingTransferProposals } = r49;
592952
- return {
592953
- instrumentUtxoCounts,
592954
- pendingTransferProposals
592955
- };
592956
- }
592957
- function fromResourcesRaw2(r49) {
592958
- return {
592959
- instrumentUtxoCounts: r49.instrumentUtxoCounts,
592960
- pendingTransferProposals: r49.pendingTransferProposals
592961
- };
592962
- }
592963
- function assignToAccountRaw5(account3, accountRaw) {
592964
- if (isCantonAccount(account3) && isCantonAccountRaw(accountRaw)) {
592965
- if (account3.cantonResources) {
592966
- accountRaw.cantonResources = toResourcesRaw2(account3.cantonResources);
592967
- }
592968
- }
592969
- }
592970
- function assignFromAccountRaw5(accountRaw, account3) {
592971
- if (isCantonAccountRaw(accountRaw) && isCantonAccount(account3)) {
592972
- if (accountRaw.cantonResources) {
592973
- account3.cantonResources = fromResourcesRaw2(accountRaw.cantonResources);
592974
- }
592975
- }
592976
- }
592977
-
592978
593000
  // ../../libs/coin-modules/coin-canton/lib-es/bridge/index.js
592979
593001
  function createBridges6(signerContext4, coinConfig19) {
592980
593002
  config_default3.setCoinConfig(coinConfig19);
@@ -627066,7 +627088,7 @@ var getMainMessage = (messages) => {
627066
627088
  const sortedTypes = messages.filter((m111) => messagePriorities.includes(m111.type)).sort((a107, b23) => messagePriorities.indexOf(a107.type) - messagePriorities.indexOf(b23.type));
627067
627089
  return sortedTypes[0];
627068
627090
  };
627069
- function isAccountEmpty2({ cosmosResources, balance: balance2 }) {
627091
+ function isAccountEmpty3({ cosmosResources, balance: balance2 }) {
627070
627092
  return cosmosResources.sequence === 0 && balance2.isZero();
627071
627093
  }
627072
627094
 
@@ -627119,7 +627141,7 @@ var getAccountShape6 = async (info6) => {
627119
627141
  operationsCount: operations4.length,
627120
627142
  blockHeight,
627121
627143
  cosmosResources,
627122
- used: !isAccountEmpty2({ balance: balance2, cosmosResources })
627144
+ used: !isAccountEmpty3({ balance: balance2, cosmosResources })
627123
627145
  };
627124
627146
  if (shape.spendableBalance && shape.spendableBalance.lt(0)) {
627125
627147
  shape.spendableBalance = new import_bignumber158.BigNumber(0);
@@ -628393,7 +628415,6 @@ function toOperation(asset, op) {
628393
628415
  },
628394
628416
  details: {
628395
628417
  sequence: op.transactionSequenceNumber,
628396
- status: op.hasFailed ? "failed" : "success",
628397
628418
  ...asset.type === "token" ? {
628398
628419
  ledgerOpType: op.type,
628399
628420
  assetAmount: op.value.toFixed(0),
@@ -780764,7 +780785,7 @@ async function getTronResources2(acc, txs, cacheTransactionInfoById = {}) {
780764
780785
  cacheTransactionInfoById
780765
780786
  };
780766
780787
  }
780767
- function isAccountEmpty3({ tronResources }) {
780788
+ function isAccountEmpty4({ tronResources }) {
780768
780789
  return tronResources.bandwidth.freeLimit.eq(0);
780769
780790
  }
780770
780791
 
@@ -781693,7 +781714,7 @@ var getAccountShape17 = async ({ initialAccount, currency: currency24, address:
781693
781714
  subAccounts: mergedSubAccounts,
781694
781715
  tronResources,
781695
781716
  blockHeight,
781696
- used: !isAccountEmpty3({ tronResources })
781717
+ used: !isAccountEmpty4({ tronResources })
781697
781718
  };
781698
781719
  };
781699
781720
  var postSync5 = (initial, parent) => {
@@ -789466,7 +789487,7 @@ var estimateGas = async (clauses, origin3) => {
789466
789487
  };
789467
789488
 
789468
789489
  // ../../libs/coin-modules/coin-vechain/lib-es/common-logic/calculateGasFees.js
789469
- var calculateGasFees = async (transaction, isTokenAccount2) => {
789490
+ var calculateGasFees = async (transaction, isTokenAccount2, originAddress) => {
789470
789491
  if (transaction.recipient && parseAddress(transaction.recipient)) {
789471
789492
  let clauses;
789472
789493
  if (isTokenAccount2) {
@@ -789474,7 +789495,7 @@ var calculateGasFees = async (transaction, isTokenAccount2) => {
789474
789495
  } else {
789475
789496
  clauses = await calculateClausesVet(transaction.recipient, transaction.amount);
789476
789497
  }
789477
- const gasEstimation = await estimateGas(clauses, transaction.recipient);
789498
+ const gasEstimation = await estimateGas(clauses, originAddress);
789478
789499
  const thorClient = getThorClient();
789479
789500
  const body = await thorClient.transactions.buildTransactionBody(clauses, gasEstimation.totalGas, {});
789480
789501
  return {
@@ -789493,12 +789514,13 @@ var calculateGasFees = async (transaction, isTokenAccount2) => {
789493
789514
  };
789494
789515
 
789495
789516
  // ../../libs/coin-modules/coin-vechain/lib-es/common-logic/calculateTransactionInfo.js
789517
+ var getTokenAccount2 = (subAccountId, subAccounts) => subAccountId && subAccounts ? subAccounts.find((subAccount) => {
789518
+ return subAccount.id === subAccountId;
789519
+ }) : void 0;
789496
789520
  var calculateTransactionInfo = async (account3, transaction, fixedMaxTokenFees) => {
789497
789521
  const { subAccounts } = account3;
789498
789522
  const { amount: oldAmount, subAccountId, useAllAmount } = transaction;
789499
- const tokenAccount = subAccountId && subAccounts ? subAccounts.find((subAccount) => {
789500
- return subAccount.id === subAccountId;
789501
- }) : void 0;
789523
+ const tokenAccount = getTokenAccount2(subAccountId, subAccounts);
789502
789524
  const isTokenAccount2 = !!tokenAccount;
789503
789525
  let amount = oldAmount;
789504
789526
  let amountBackup;
@@ -789514,7 +789536,7 @@ var calculateTransactionInfo = async (account3, transaction, fixedMaxTokenFees)
789514
789536
  let iterations = 0;
789515
789537
  do {
789516
789538
  amountBackup = amount;
789517
- const estimatedGasAndFees = fixedMaxTokenFees || await calculateGasFees(tempTransaction, isTokenAccount2);
789539
+ const estimatedGasAndFees = fixedMaxTokenFees || await calculateGasFees(tempTransaction, isTokenAccount2, account3.freshAddress);
789518
789540
  maxEstimatedGasFees = estimatedGasAndFees.estimatedGasFees;
789519
789541
  maxEstimatedGas = estimatedGasAndFees.estimatedGas;
789520
789542
  maxFeePerGas = estimatedGasAndFees.maxFeePerGas;
@@ -789611,14 +789633,22 @@ var getTransactionStatus22 = async (account3, transaction) => {
789611
789633
 
789612
789634
  // ../../libs/coin-modules/coin-vechain/lib-es/bridge/estimateMaxSpendable.js
789613
789635
  var import_bignumber303 = __toESM(require("bignumber.js"));
789614
- var estimateMaxSpendable22 = async ({ account: account3, transaction }) => {
789636
+ var PATTERN_ADDRESS_IN_TOKEN_ACCOUNT_ID = /:(0x\w+):/;
789637
+ var getAddressFromTokenAccountId = (tokenAccountId) => PATTERN_ADDRESS_IN_TOKEN_ACCOUNT_ID.exec(tokenAccountId)?.[1];
789638
+ var estimateMaxSpendable22 = async ({ account: account3, parentAccount, transaction }) => {
789615
789639
  if (account3.type === "Account" || !transaction) {
789616
789640
  return account3.balance;
789617
789641
  }
789618
- const { estimatedGasFees: maxTokenFees } = await calculateGasFees(transaction, true);
789619
- const spendable = account3.balance.minus(maxTokenFees);
789620
- if (spendable.gt(0))
789621
- return account3.balance.minus(maxTokenFees);
789642
+ if (account3.type === "TokenAccount") {
789643
+ const originAddress = parentAccount?.freshAddress || getAddressFromTokenAccountId(account3.id);
789644
+ if (originAddress) {
789645
+ const { estimatedGasFees: maxTokenFees } = await calculateGasFees(transaction, true, originAddress);
789646
+ const spendable = account3.balance.minus(maxTokenFees);
789647
+ if (spendable.gt(0)) {
789648
+ return spendable;
789649
+ }
789650
+ }
789651
+ }
789622
789652
  return new import_bignumber303.default(0);
789623
789653
  };
789624
789654
 
@@ -789680,7 +789710,7 @@ var import_bignumber305 = require("bignumber.js");
789680
789710
  var import_eip558 = __toESM(require_eip55());
789681
789711
 
789682
789712
  // ../../libs/coin-modules/coin-vechain/lib-es/bridge/helpers.js
789683
- function isAccountEmpty4(account3) {
789713
+ function isAccountEmpty5(account3) {
789684
789714
  const checkSubAccounts = account3.subAccounts && !account3.subAccounts[0].balance.isZero();
789685
789715
  return account3.operationsCount === 0 && account3.balance.isZero() && !checkSubAccounts;
789686
789716
  }
@@ -789745,7 +789775,7 @@ var getAccountShape18 = async (info6) => {
789745
789775
  };
789746
789776
  return {
789747
789777
  ...shape,
789748
- used: !isAccountEmpty4(shape)
789778
+ used: !isAccountEmpty5(shape)
789749
789779
  };
789750
789780
  };
789751
789781
 
@@ -809742,8 +809772,7 @@ var convertToCoreOperation2 = (operation) => {
809742
809772
  sequence: operation.transactionSequenceNumber?.toString(),
809743
809773
  ledgerOpType: operation.extra.ledgerOpType,
809744
809774
  assetAmount: operation.extra.assetAmount ? operation.extra.assetAmount : operation.value.toString(),
809745
- memo: operation.extra.memo,
809746
- status: operation.hasFailed ? "failed" : "success"
809775
+ memo: operation.extra.memo
809747
809776
  },
809748
809777
  type: operation.type,
809749
809778
  value: BigInt(operation.value.toString()),
@@ -830059,7 +830088,6 @@ function convertOperation(address3, operation) {
830059
830088
  counter: operation.counter,
830060
830089
  gasLimit: operation.gasLimit,
830061
830090
  storageLimit: operation.storageLimit,
830062
- status: hasFailed ? "failed" : operation.status,
830063
830091
  ledgerOpType: getLedgerOpType(operation, normalizedType)
830064
830092
  }
830065
830093
  };
@@ -830669,7 +830697,7 @@ function adaptCoreOperationToLiveOperation(accountId2, op) {
830669
830697
  extra.memo = op.details.memo;
830670
830698
  }
830671
830699
  const bnFees = new import_bignumber360.default(op.tx.fees.toString());
830672
- const hasFailed = op.details?.status === "failed";
830700
+ const hasFailed = op.tx.failed;
830673
830701
  let value2;
830674
830702
  if (hasFailed) {
830675
830703
  value2 = bnFees;
@@ -831853,16 +831881,19 @@ function formatOperation2(account3) {
831853
831881
  }
831854
831882
 
831855
831883
  // ../../libs/ledger-live-common/lib-es/account/helpers.js
831856
- var isAccountEmpty5 = (a107) => {
831884
+ var isAccountEmpty6 = (a107) => {
831857
831885
  if (a107.type === "Account") {
831858
831886
  if (isCosmosAccount(a107)) {
831859
- return isAccountEmpty2(a107);
831887
+ return isAccountEmpty3(a107);
831860
831888
  }
831861
831889
  if (isTronAccount(a107)) {
831862
- return isAccountEmpty3(a107);
831890
+ return isAccountEmpty4(a107);
831863
831891
  }
831864
831892
  if (a107.currency.family == "vechain") {
831865
- return isAccountEmpty4(a107);
831893
+ return isAccountEmpty5(a107);
831894
+ }
831895
+ if (a107.currency.family == "canton") {
831896
+ return isAccountEmpty2(a107);
831866
831897
  }
831867
831898
  }
831868
831899
  return isAccountEmpty(a107);
@@ -853480,7 +853511,7 @@ Please increase the account target to at least ${spec2.mutations.length + 1} acc
853480
853511
  reportLog(`Spec ${spec2.name} found ${accounts2.length} ${currency24.name} accounts${preloadStats}. Will use ${formatAppCandidate(appCandidate)}
853481
853512
  ${accounts2.map((a107) => formatAccount(a107, "head")).join("\n")}
853482
853513
  `);
853483
- if (accounts2.every(isAccountEmpty5)) {
853514
+ if (accounts2.every(isAccountEmpty6)) {
853484
853515
  reportLog(`This SEED does not have ${currency24.name}. Please send funds to ${accounts2.map((a107) => a107.freshAddress).join(" or ")}
853485
853516
  `);
853486
853517
  appReport.accountsAfter = accounts2;
@@ -854715,7 +854746,7 @@ async function bot({ disabled, filter: filter27 } = {}) {
854715
854746
  console.error(`/!\\ ${errorCases.length} failures out of ${mutationReports.length} mutations. Check above!
854716
854747
  `);
854717
854748
  }
854718
- const specsWithoutFunds = results2.filter((s104) => !s104.fatalError && (s104.accountsBefore && s104.accountsBefore.every(isAccountEmpty5) || s104.mutations && s104.mutations.every((r49) => !r49.mutation)));
854749
+ const specsWithoutFunds = results2.filter((s104) => !s104.fatalError && (s104.accountsBefore && s104.accountsBefore.every(isAccountEmpty6) || s104.mutations && s104.mutations.every((r49) => !r49.mutation)));
854719
854750
  const fullySuccessfulSpecs = results2.filter((s104) => !s104.fatalError && s104.mutations && !specsWithoutFunds.includes(s104) && s104.mutations.every((r49) => !r49.mutation || r49.operation));
854720
854751
  const specsWithErrors = results2.filter((s104) => !s104.fatalError && s104.mutations && !specsWithoutFunds.includes(s104) && s104.mutations.some((r49) => r49.error || r49.mutation && !r49.operation));
854721
854752
  const specsWithoutOperations = results2.filter((s104) => !s104.fatalError && !specsWithoutFunds.includes(s104) && !specsWithErrors.includes(s104) && s104.mutations && s104.mutations.every((r49) => !r49.operation));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-cli",
3
- "version": "24.28.0-nightly.20251120135143",
3
+ "version": "24.28.0-nightly.20251122023607",
4
4
  "description": "ledger-live CLI version",
5
5
  "repository": {
6
6
  "type": "git",
@@ -59,7 +59,7 @@
59
59
  "tsup": "7.3.0",
60
60
  "yaml": "2.8.1",
61
61
  "@ledgerhq/types-cryptoassets": "^7.30.0",
62
- "@ledgerhq/types-live": "^6.89.0-nightly.20251120135143"
62
+ "@ledgerhq/types-live": "^6.89.0-nightly.20251122023607"
63
63
  },
64
64
  "publishConfig": {
65
65
  "directory": "dist"