diff --git a/apps/cli/CHANGELOG.md b/apps/cli/CHANGELOG.md index 8d774a929a23..7c2a5735c303 100644 --- a/apps/cli/CHANGELOG.md +++ b/apps/cli/CHANGELOG.md @@ -1,5 +1,20 @@ # @ledgerhq/live-cli +## 24.5.1 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + - @ledgerhq/coin-bitcoin@0.7.3 + +## 24.5.1-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 24.5.0 ### Minor Changes diff --git a/apps/cli/package.json b/apps/cli/package.json index dbe9e0799b81..ac6f3a964c5c 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "@ledgerhq/live-cli", - "version": "24.5.0", + "version": "24.5.1", "description": "ledger-live CLI version", "repository": { "type": "git", diff --git a/apps/ledger-live-desktop/CHANGELOG.md b/apps/ledger-live-desktop/CHANGELOG.md index 088362b0ed56..5931e85b5c0b 100644 --- a/apps/ledger-live-desktop/CHANGELOG.md +++ b/apps/ledger-live-desktop/CHANGELOG.md @@ -1,5 +1,22 @@ # ledger-live-desktop +## 2.85.1 + +### Patch Changes + +- [#7642](https://github.com/LedgerHQ/ledger-live/pull/7642) [`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017) Thanks [@ofreyssinet-ledger](https://github.com/ofreyssinet-ledger)! - Sentry: disable capture of "performance spans", which were not actually in use, but still causing a stop of the internal process on LLD Windows + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + - @ledgerhq/coin-bitcoin@0.7.3 + +## 2.85.1-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 2.85.0 ### Minor Changes diff --git a/apps/ledger-live-desktop/RELEASE_NOTES.md b/apps/ledger-live-desktop/RELEASE_NOTES.md index 0036d2ddee7f..8ca3d58a8056 100644 --- a/apps/ledger-live-desktop/RELEASE_NOTES.md +++ b/apps/ledger-live-desktop/RELEASE_NOTES.md @@ -1,3 +1,7 @@ +# 2.85.1 + +Some Windows users reported issues with device interactions. This has been fixed. + # 2.85.0 This release includes minor bug fixes and security improvements. diff --git a/apps/ledger-live-desktop/package.json b/apps/ledger-live-desktop/package.json index 3046a5bf420c..bd03256008ed 100644 --- a/apps/ledger-live-desktop/package.json +++ b/apps/ledger-live-desktop/package.json @@ -13,7 +13,7 @@ "license": "MIT", "private": true, "main": "./.webpack/main.bundle.js", - "version": "2.85.0", + "version": "2.85.1", "scripts": { "start:prod": "electron ./.webpack/main.bundle.js", "start": "cross-env NODE_ENV=development node ./tools/main.js", diff --git a/apps/ledger-live-desktop/src/sentry/internal.ts b/apps/ledger-live-desktop/src/sentry/internal.ts index 400a6fd7347a..2dabaf857f1d 100644 --- a/apps/ledger-live-desktop/src/sentry/internal.ts +++ b/apps/ledger-live-desktop/src/sentry/internal.ts @@ -1,15 +1,11 @@ import * as Sentry from "@sentry/node"; import { Primitive } from "@sentry/types"; -import { connectLogsToSentry } from "@ledgerhq/live-common/performance"; import { init, setShouldSendCallback } from "./install"; // @ts-expect-error The right type would be typeof SentryMainModule from "@sentry/electron/main"… // …but we should avoid importing the whole module here const available = init(Sentry, { integrations: [Sentry.httpIntegration()], }); -if (available) { - connectLogsToSentry(Sentry); -} export default (shouldSendCallback: () => boolean, userId: string) => { if (!available) return; setShouldSendCallback(shouldSendCallback); diff --git a/apps/ledger-live-mobile/CHANGELOG.md b/apps/ledger-live-mobile/CHANGELOG.md index 0f9254464cbc..92af863b06f9 100644 --- a/apps/ledger-live-mobile/CHANGELOG.md +++ b/apps/ledger-live-mobile/CHANGELOG.md @@ -1,5 +1,19 @@ # live-mobile +## 3.48.1 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + +## 3.48.1-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 3.48.0 ### Minor Changes diff --git a/apps/ledger-live-mobile/package.json b/apps/ledger-live-mobile/package.json index c242190ef873..26f54c9b7816 100644 --- a/apps/ledger-live-mobile/package.json +++ b/apps/ledger-live-mobile/package.json @@ -1,6 +1,6 @@ { "name": "live-mobile", - "version": "3.48.0", + "version": "3.48.1", "private": true, "scripts": { "postinstall": "zx ./scripts/post.mjs", diff --git a/apps/web-tools/CHANGELOG.md b/apps/web-tools/CHANGELOG.md index 89957b2b2d8b..954e1473bcd4 100644 --- a/apps/web-tools/CHANGELOG.md +++ b/apps/web-tools/CHANGELOG.md @@ -1,5 +1,19 @@ # web-tools +## 0.8.1 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + +## 0.8.1-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 0.8.0 ### Minor Changes diff --git a/apps/web-tools/package.json b/apps/web-tools/package.json index adbb8c61fe02..132131a398e6 100644 --- a/apps/web-tools/package.json +++ b/apps/web-tools/package.json @@ -1,6 +1,6 @@ { "name": "@ledgerhq/web-tools", - "version": "0.8.0", + "version": "0.8.1", "private": true, "browser": { "fs": false, diff --git a/libs/coin-modules/coin-bitcoin/CHANGELOG.md b/libs/coin-modules/coin-bitcoin/CHANGELOG.md index bca8d83c9325..149ab313e92e 100644 --- a/libs/coin-modules/coin-bitcoin/CHANGELOG.md +++ b/libs/coin-modules/coin-bitcoin/CHANGELOG.md @@ -1,5 +1,11 @@ # @ledgerhq/coin-bitcoin +## 0.7.3 + +### Patch Changes + +- [#7642](https://github.com/LedgerHQ/ledger-live/pull/7642) [`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017) Thanks [@ofreyssinet-ledger](https://github.com/ofreyssinet-ledger)! - Sentry: disable capture of "performance spans", which were not actually in use, but still causing a stop of the internal process on LLD Windows + ## 0.7.2 ### Patch Changes diff --git a/libs/coin-modules/coin-bitcoin/package.json b/libs/coin-modules/coin-bitcoin/package.json index 419561684a0b..af3c311bb43e 100644 --- a/libs/coin-modules/coin-bitcoin/package.json +++ b/libs/coin-modules/coin-bitcoin/package.json @@ -1,6 +1,6 @@ { "name": "@ledgerhq/coin-bitcoin", - "version": "0.7.2", + "version": "0.7.3", "description": "Ledger Bitcoin Coin integration", "keywords": [ "Ledger", diff --git a/libs/coin-modules/coin-bitcoin/src/bridge/js.ts b/libs/coin-modules/coin-bitcoin/src/bridge/js.ts index 278c341f0e90..d465ba973fc4 100644 --- a/libs/coin-modules/coin-bitcoin/src/bridge/js.ts +++ b/libs/coin-modules/coin-bitcoin/src/bridge/js.ts @@ -5,7 +5,7 @@ import { makeSync, } from "@ledgerhq/coin-framework/bridge/jsHelpers"; import getAddressWrapper from "@ledgerhq/coin-framework/bridge/getAddressWrapper"; -import { StartSpan, makeGetAccountShape, postSync } from "../synchronisation"; +import { makeGetAccountShape, postSync } from "../synchronisation"; import { assignFromAccountRaw, assignToAccountRaw } from "../serialization"; import { BitcoinAccount, Transaction, TransactionStatus } from "../types"; import { getTransactionStatus } from "../getTransactionStatus"; @@ -21,10 +21,10 @@ import { broadcast } from "../broadcast"; import { perCoinLogic } from "../logic"; import resolver from "../hw-getAddress"; -function buildCurrencyBridge(signerContext: SignerContext, perfLogger: PerfLogger) { +function buildCurrencyBridge(signerContext: SignerContext) { const getAddress = resolver(signerContext); const scanAccounts = makeScanAccounts({ - getAccountShape: makeGetAccountShape(signerContext, perfLogger.startSpan), + getAccountShape: makeGetAccountShape(signerContext), getAddressFn: getAddressWrapper(getAddress), }); @@ -35,9 +35,9 @@ function buildCurrencyBridge(signerContext: SignerContext, perfLogger: PerfLogge }; } -function buildAccountBridge(signerContext: SignerContext, perfLogger: PerfLogger) { +function buildAccountBridge(signerContext: SignerContext) { const sync = makeSync({ - getAccountShape: makeGetAccountShape(signerContext, perfLogger.startSpan), + getAccountShape: makeGetAccountShape(signerContext), postSync, }); @@ -79,19 +79,11 @@ function buildAccountBridge(signerContext: SignerContext, perfLogger: PerfLogger }; } -export type PerfLogger = { - startSpan: StartSpan; -}; - -export function createBridges( - signerContext: SignerContext, - perfLogger: PerfLogger, - coinConfig: CoinConfig, -) { +export function createBridges(signerContext: SignerContext, coinConfig: CoinConfig) { setCoinConfig(coinConfig); return { - currencyBridge: buildCurrencyBridge(signerContext, perfLogger), - accountBridge: buildAccountBridge(signerContext, perfLogger), + currencyBridge: buildCurrencyBridge(signerContext), + accountBridge: buildAccountBridge(signerContext), }; } diff --git a/libs/coin-modules/coin-bitcoin/src/synchronisation.ts b/libs/coin-modules/coin-bitcoin/src/synchronisation.ts index de5d80a388ba..26799ba34e8f 100644 --- a/libs/coin-modules/coin-bitcoin/src/synchronisation.ts +++ b/libs/coin-modules/coin-bitcoin/src/synchronisation.ts @@ -71,23 +71,8 @@ const deduplicateOperations = (operations: (Operation | undefined)[]): Operation return out; }; -// For performance monitoring -export type StartSpan = ( - op: string, - description?: string, - rest?: { - tags?: any; - data?: any; - }, -) => { - finish: () => void; -}; -export function makeGetAccountShape( - signerContext: SignerContext, - startSpan: StartSpan, -): GetAccountShape { +export function makeGetAccountShape(signerContext: SignerContext): GetAccountShape { return async info => { - let span; const { currency, index, derivationPath, derivationMode, initialAccount, deviceId } = info; // In case we get a full derivation path, extract the seed identification part // 44'/0'/0'/0/0 --> 44'/0' @@ -115,7 +100,6 @@ export function makeGetAccountShape( const walletNetwork = toWalletNetwork(currency.id); const walletDerivationMode = toWalletDerivationMode(derivationMode); - span = startSpan("sync", "generateAccount"); const walletAccount = initialAccount?.bitcoinResources?.walletAccount || (await wallet.generateAccount( @@ -129,7 +113,6 @@ export function makeGetAccountShape( }, currency, )); - span.finish(); const oldOperations = initialAccount?.operations || []; const currentBlock = await walletAccount.xpub.explorer.getCurrentBlock(); @@ -138,39 +121,27 @@ export function makeGetAccountShape( await wallet.syncAccount(walletAccount, blockHeight); const balance = await wallet.getAccountBalance(walletAccount); - span = startSpan("sync", "getAccountTransactions"); const { txs: transactions } = await wallet.getAccountTransactions(walletAccount); - span.finish(); - span = startSpan("sync", "getXpubAddresses"); const accountAddresses: Set = new Set(); const accountAddressesWithInfo = await walletAccount.xpub.getXpubAddresses(); accountAddressesWithInfo.forEach(a => accountAddresses.add(a.address)); - span.finish(); - span = startSpan("sync", "getUniquesAddresses"); const changeAddresses: Set = new Set(); const changeAddressesWithInfo = await walletAccount.xpub.storage.getUniquesAddresses({ account: 1, }); changeAddressesWithInfo.forEach(a => changeAddresses.add(a.address)); - span.finish(); - span = startSpan("sync", "mapTxToOperations"); const newOperations = transactions ?.map(tx => mapTxToOperations(tx, currency.id, accountId, accountAddresses, changeAddresses)) .flat(); - span.finish(); - span = startSpan("sync", "unify operations"); const newUniqueOperations = deduplicateOperations(newOperations); const operations = mergeOps(oldOperations, newUniqueOperations); - span.finish(); - span = startSpan("sync", "gather utxos"); const rawUtxos = await wallet.getAccountUnspentUtxos(walletAccount); const utxos = rawUtxos.map(utxo => fromWalletUtxo(utxo, changeAddresses)); - span.finish(); return { id: accountId, diff --git a/libs/ledger-live-common/CHANGELOG.md b/libs/ledger-live-common/CHANGELOG.md index 411986c5f082..1cc063e31615 100644 --- a/libs/ledger-live-common/CHANGELOG.md +++ b/libs/ledger-live-common/CHANGELOG.md @@ -1,5 +1,20 @@ ## 34.5.0-next.4 +## 34.7.1 + +### Patch Changes + +- [#7642](https://github.com/LedgerHQ/ledger-live/pull/7642) [`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017) Thanks [@ofreyssinet-ledger](https://github.com/ofreyssinet-ledger)! - Sentry: disable capture of "performance spans", which were not actually in use, but still causing a stop of the internal process on LLD Windows + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/coin-bitcoin@0.7.3 + +## 34.7.1-hotfix.0 + +### Patch Changes + +- [#7642](https://github.com/LedgerHQ/ledger-live/pull/7642) [`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017) Thanks [@ofreyssinet-ledger](https://github.com/ofreyssinet-ledger)! - Sentry: disable capture of "performance spans", which were not actually in use, but still causing a stop of the internal process on LLD Windows + ## 34.7.0 ### Minor Changes diff --git a/libs/ledger-live-common/package.json b/libs/ledger-live-common/package.json index b15a54fd5d90..dc662e6fc7f1 100644 --- a/libs/ledger-live-common/package.json +++ b/libs/ledger-live-common/package.json @@ -1,7 +1,7 @@ { "name": "@ledgerhq/live-common", "description": "Common ground for the Ledger Live apps", - "version": "34.7.0", + "version": "34.7.1", "repository": { "type": "git", "url": "https://github.com/LedgerHQ/ledger-live.git" diff --git a/libs/ledger-live-common/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap b/libs/ledger-live-common/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap index d451f34296db..11c5fa4e45bb 100644 --- a/libs/ledger-live-common/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap +++ b/libs/ledger-live-common/src/families/bitcoin/__snapshots__/bridge.integration.test.ts.snap @@ -9438,7 +9438,7 @@ exports[`bitcoin_cash currency bridge scanAccounts bitcoin_cash seed 1 1`] = ` "xpub": "xpub6BuPWhjLqutPV8SF4RMrrn8c3t7uBZbz4CBbThpbg9GYjqRMncra9mjgSfWSK7uMDz37hhzJ8wvkbDDQQJt6VgwLoszvmPiSBtLA1bPLLSn", }, { - "balance": "99774", + "balance": "100774", "bitcoinResources": {}, "currencyId": "bitcoin_cash", "derivationMode": "", @@ -9446,10 +9446,10 @@ exports[`bitcoin_cash currency bridge scanAccounts bitcoin_cash seed 1 1`] = ` "freshAddressPath": "44'/145'/0'/0/23", "id": "js:2:bitcoin_cash:xpub6D7pqJa4V3SFSigcsRaFL2mpfG7469osrMkk4ieR2uk8y1v3nuQUD8W8v36PLWQtVRSggSQM7jLpGNKH7sqCaoPSJEp9wZCVkRnMWoiUUXa:", "index": 0, - "operationsCount": 66, + "operationsCount": 67, "pendingOperations": [], "seedIdentifier": "04884ed3fe628a8487f782f97f38e7a9f014e624f1ea679951cf3a67445ea33fb334f4cc19e6c421b3ef9943d526cd4fbfebacebe8a62cc45db79a33d3ab04bd47", - "spendableBalance": "99774", + "spendableBalance": "100774", "swapHistory": [], "syncHash": undefined, "used": true, @@ -11312,6 +11312,24 @@ exports[`bitcoin_cash currency bridge scanAccounts bitcoin_cash seed 1 2`] = ` "type": "IN", "value": "599434", }, + { + "accountId": "js:2:bitcoin_cash:xpub6D7pqJa4V3SFSigcsRaFL2mpfG7469osrMkk4ieR2uk8y1v3nuQUD8W8v36PLWQtVRSggSQM7jLpGNKH7sqCaoPSJEp9wZCVkRnMWoiUUXa:", + "blockHash": "0000000000000000003d037b815760feb7df62117b3882d2f53d1af949d0ed7f", + "blockHeight": 855031, + "extra": {}, + "fee": "277", + "hasFailed": false, + "hash": "d69e7f7a220a998d29b13fdec9b9a157c92d89997c6f0d7302014165566689f8", + "id": "js:2:bitcoin_cash:xpub6D7pqJa4V3SFSigcsRaFL2mpfG7469osrMkk4ieR2uk8y1v3nuQUD8W8v36PLWQtVRSggSQM7jLpGNKH7sqCaoPSJEp9wZCVkRnMWoiUUXa:-d69e7f7a220a998d29b13fdec9b9a157c92d89997c6f0d7302014165566689f8-IN", + "recipients": [ + "qp28czls5tlvfpmxhpeyt7fx9wfnhpl2a5pzga4cwa", + ], + "senders": [ + "qp62arrql0hvg5mu8f8mp3cnmn8pp2tfmcr5q6ndql", + ], + "type": "IN", + "value": "1000", + }, { "accountId": "js:2:bitcoin_cash:xpub6D7pqJa4V3SFSigcsRaFL2mpfG7469osrMkk4ieR2uk8y1v3nuQUD8W8v36PLWQtVRSggSQM7jLpGNKH7sqCaoPSJEp9wZCVkRnMWoiUUXa:", "blockHash": "00000000000000000201065d6543396afc932549b02510721592dccaff7cbdbc", @@ -19375,7 +19393,7 @@ exports[`litecoin currency bridge scanAccounts litecoin seed 1 1`] = ` "xpub": "Ltub2ZDyeYFtDj5kL5kYEcBGiDwhXQtZNefG3k4XvAtoMfD5cHxa93WMr6zLGnLb11LCgUXpxWTZRVPv2Roh2vdxesTpgFYayeNNVJb7wmCfD3x", }, { - "balance": "461844", + "balance": "483964", "bitcoinResources": {}, "currencyId": "litecoin", "derivationMode": "segwit", @@ -19383,10 +19401,10 @@ exports[`litecoin currency bridge scanAccounts litecoin seed 1 1`] = ` "freshAddressPath": "49'/2'/0'/0/25", "id": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit", "index": 0, - "operationsCount": 51, + "operationsCount": 53, "pendingOperations": [], "seedIdentifier": "04921553e9c4ff6ef39e98f2e8a7719d76e6ecdc67cbb65dcdfd4d04b7e0386524daf087032c6a2ab4280d343d8f4d086e1ef78d9acc1e2464282feb75abf624aa", - "spendableBalance": "461844", + "spendableBalance": "483964", "swapHistory": [], "syncHash": undefined, "used": true, @@ -19854,6 +19872,24 @@ exports[`litecoin currency bridge scanAccounts litecoin seed 1 2`] = ` "type": "OUT", "value": "21800", }, + { + "accountId": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit", + "blockHash": "398564d222e0075bfce3ec282cba68911f30002b2977e7a35fd248e2c49ee01f", + "blockHeight": 2721804, + "extra": {}, + "fee": "327", + "hasFailed": false, + "hash": "19a733d3cd66111de0bd8297a07a247ba786c9571b00d0b611c4359e9f2cf0d1", + "id": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit-19a733d3cd66111de0bd8297a07a247ba786c9571b00d0b611c4359e9f2cf0d1-IN", + "recipients": [ + "MGWgRF4qLAHtYhEe6VcQNeQRxVhPd3evHc", + ], + "senders": [ + "MGV7YgucxkwsTmB167poMS7yX5tY68FAt2", + ], + "type": "IN", + "value": "12000", + }, { "accountId": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit", "blockHash": "44d1cdfe6831b62152d83ded24aac350878e628b0f65b6a2cac773481916722d", @@ -20538,6 +20574,24 @@ exports[`litecoin currency bridge scanAccounts litecoin seed 1 2`] = ` "type": "OUT", "value": "1015860", }, + { + "accountId": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit", + "blockHash": "af5e73eb01066e4fdd9bd7b42d7b88b5e4774ed45cb569a4f60e774918ad631e", + "blockHeight": 2721801, + "extra": {}, + "fee": "327", + "hasFailed": false, + "hash": "d856eb791a03d93bd19d8153a0997358e6c396152d5c72ba162b70c8baac5616", + "id": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit-d856eb791a03d93bd19d8153a0997358e6c396152d5c72ba162b70c8baac5616-IN", + "recipients": [ + "MGWgRF4qLAHtYhEe6VcQNeQRxVhPd3evHc", + ], + "senders": [ + "MGhyc5uFXviT4SZRJLk6oYCJV5zENaGVZB", + ], + "type": "IN", + "value": "10120", + }, { "accountId": "js:2:litecoin:Ltub2ZoEDG8AmPfD8oGoFEvfsKWjeyiXh6TiKYjgLnoVxfeECfQteY6sDF1AuH1iW6ekue2PSwdbbvG2NpFPzLqcgNgteHZPNo6zGthjcAmwxT3:segwit", "blockHash": "d1ee2556cf97c5126be0576ac1f1fc1b6e80f4588f7e18e9a5afc11d801030f1", diff --git a/libs/ledger-live-common/src/families/bitcoin/setup.ts b/libs/ledger-live-common/src/families/bitcoin/setup.ts index 271a2b576087..08b7b18ca3bf 100644 --- a/libs/ledger-live-common/src/families/bitcoin/setup.ts +++ b/libs/ledger-live-common/src/families/bitcoin/setup.ts @@ -13,7 +13,6 @@ import { signMessage } from "@ledgerhq/coin-bitcoin/hw-signMessage"; import { BitcoinAccount, Transaction, TransactionStatus } from "@ledgerhq/coin-bitcoin/types"; import { GetAddressOptions, Resolver } from "../../hw/getAddress/types"; import { withDevice } from "../../hw/deviceAccess"; -import { startSpan } from "../../performance"; import { GetAddressFn } from "@ledgerhq/coin-framework/bridge/getAddressWrapper"; import { getCurrencyConfiguration } from "../../config"; import { BitcoinConfigInfo } from "@ledgerhq/coin-bitcoin/lib/config"; @@ -36,13 +35,8 @@ const getCurrencyConfig = (currency: CryptoCurrency) => { return { info: getCurrencyConfiguration(currency) }; }; -const perfLogger = { - startSpan, -}; - const bridge: Bridge = createBridges( signerContext, - perfLogger, getCurrencyConfig, ); diff --git a/libs/ledger-live-common/src/performance.test.ts b/libs/ledger-live-common/src/performance.test.ts deleted file mode 100644 index a1e4577ae8b5..000000000000 --- a/libs/ledger-live-common/src/performance.test.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { connectLogsToSentry, startSpan } from "./performance"; - -test("connectLogsToSentry", () => { - const finish = jest.fn(); - const startChild = jest.fn(arg => ({ arg, finish })); - const getSpan = jest.fn(() => ({ startChild })); - const Sentry = { - getCurrentHub: () => ({ - getScope: () => ({ getSpan }), - }), - }; - connectLogsToSentry(Sentry); - const span = startSpan("op", "desc", { tags: { foo: 42 } }); - expect(startChild.mock.calls.length).toBe(1); - expect(startChild.mock.calls[0][0]).toMatchObject({ - op: "op", - description: "desc", - tags: { foo: 42 }, - }); - expect(finish.mock.calls.length).toBe(0); - span.finish(); - startSpan("ignored"); - expect(finish.mock.calls.length).toBe(1); - span.finish(); - expect(finish.mock.calls.length).toBe(1); -}); diff --git a/libs/ledger-live-common/src/performance.ts b/libs/ledger-live-common/src/performance.ts deleted file mode 100644 index ff19a02a885a..000000000000 --- a/libs/ledger-live-common/src/performance.ts +++ /dev/null @@ -1,61 +0,0 @@ -// Provide helpers to track performance spans through our internal logs -import { log, listen } from "@ledgerhq/logs"; - -type Unsubscribe = () => void; - -export function connectLogsToSentry(Sentry: any): Unsubscribe { - let apduSpan; - const spans = {}; - return listen(l => { - if (!l) return; - if (l.type === "apdu") { - if (l.message?.startsWith("=>")) { - const t = Sentry.getCurrentHub().getScope().getSpan(); - apduSpan = t?.startChild({ - op: "apdu", - description: l.message.slice(0, 11), - }); - } else if (l.message?.startsWith("<=")) { - apduSpan?.finish(); - } - } else if (l.type === "perf-span") { - const { data } = l; - if (!data) return; - const { id, starts, span } = data; - if (starts) { - const t = Sentry.getCurrentHub().getScope().getSpan(); - spans[id] = t?.startChild({ ...span, description: l.message || "" }); - } else { - const span = spans[id]; - span?.finish(); - } - } - }); -} - -let idCounter = 0; -export function startSpan( - op: string, - description?: string, - rest?: { - tags?: any; - data?: any; - }, -): { - finish: () => void; -} { - let id = ++idCounter; - const span: any = { op, ...rest }; - log("perf-span", description || "", { - id, - starts: true, - span, - }); - return { - finish: () => { - if (!id) return; - log("perf-span", description || "", { id }); - id = 0; - }, - }; -} diff --git a/libs/test-utils/CHANGELOG.md b/libs/test-utils/CHANGELOG.md index 43397a78eb94..210f7d4abbf3 100644 --- a/libs/test-utils/CHANGELOG.md +++ b/libs/test-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @ledgerhq/test-utils +## 0.2.6 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + +## 0.2.6-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 0.2.5 ### Patch Changes diff --git a/libs/test-utils/package.json b/libs/test-utils/package.json index d8932e161ffe..e8c428b0a252 100644 --- a/libs/test-utils/package.json +++ b/libs/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@ledgerhq/test-utils", - "version": "0.2.5", + "version": "0.2.6", "private": true, "description": "Dummy apps and utils for tests", "keywords": [ diff --git a/tests/dummy-wallet-app/CHANGELOG.md b/tests/dummy-wallet-app/CHANGELOG.md index 0633025e66cc..374e4ac5740d 100644 --- a/tests/dummy-wallet-app/CHANGELOG.md +++ b/tests/dummy-wallet-app/CHANGELOG.md @@ -1,5 +1,19 @@ # dummy-wallet-app +## 0.3.6 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1 + +## 0.3.6-hotfix.0 + +### Patch Changes + +- Updated dependencies [[`22ff55b`](https://github.com/LedgerHQ/ledger-live/commit/22ff55bf74a27fa22701c8b20424732a189ca017)]: + - @ledgerhq/live-common@34.7.1-hotfix.0 + ## 0.3.5 ### Patch Changes diff --git a/tests/dummy-wallet-app/package.json b/tests/dummy-wallet-app/package.json index 3c2336f7b3a5..27c8ec5f869a 100644 --- a/tests/dummy-wallet-app/package.json +++ b/tests/dummy-wallet-app/package.json @@ -1,6 +1,6 @@ { "name": "@ledgerhq/dummy-wallet-app", - "version": "0.3.5", + "version": "0.3.6", "private": true, "dependencies": { "@ledgerhq/hw-app-eth": "workspace:*",