Skip to content

Allow ledger replay after Mithril snapshot conversion failure - #3438

Open
disassembler wants to merge 1 commit into
masterfrom
mithril-converter-ledger-replay
Open

disassembler wants to merge 1 commit into
masterfrom
mithril-converter-ledger-replay

feat(mithril): offer ledger replay after snapshot conversion failure

b68e03a
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:required failed Oct 29, 2026 in 13s

Build dependency failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/4dzasxn34ypfjqvm8knl0m2fxlgd2b64-daedalus-i18n.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/0md6as2qsv8yvhs7jx78nkxplgd0ikfi-source
source root is source
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
patching script interpreter paths in .
./packaging/linux/arch.install: interpreter directive changed from "#!/bin/sh" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/sh"
./boot-windows.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./tests/security/dapp-guest/run-installed-package.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/988hlhalxmy67pm6yl441zgy37kg361g-nodejs-26.12.1/bin/node"
./utils/windows/gen-cert: interpreter directive changed from "#!/bin/sh" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/sh"
./scripts/rebuild-native-modules.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./scripts/filter-logs.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./scripts/darwin-no-x-compile.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./scripts/check-bundle-integrity.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./scripts/check-bundle-integrity-selftest.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
./ralph.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/jnyfsf2mp08d1xyz2m72ic2vz2kcx0sd-bash-5.3p9/bin/bash"
Running phase: buildPhase
yarn run v1.22.22
$ yarn i18n:extract && yarn i18n:check
$ formatjs extract 'source/**/*.{ts,tsx}' --ignore='**/*.d.ts' --format='translations/formatter.js' --extract-source-location --out-file='translations/messages.json'
[@formatjs/cli] [WARN] source/renderer/app/containers/dapp/DappCatalogPage.tsx:117:43 [FormatJS] `id` must be a string literal to be extracted.[@formatjs/cli] [WARN] source/renderer/app/containers/dapp/DappCatalogPage.tsx:133:38 [FormatJS] `id` must be a string literal to be extracted.[@formatjs/cli] [WARN] source/renderer/app/containers/dapp/DappCatalogPage.tsx:135:13 [FormatJS] `id` must be a string literal to be extracted.


[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.fingerprint", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.policyId", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.assetName", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.name", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.ticker", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.description", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "assets.assetToken.param.blank", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "governance.drepDirectory.backToDirectory", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "governance.drepDirectory.status.active", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "governance.drepDirectory.status.inactive", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "analytics.form.title", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.delegationCenter.syncingTooltipLabel", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.rankingTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.profitMarginTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.costPerEpochTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.producedBlocksTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.potentialRewardsTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.saturationTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "staking.stakePools.tooltip.pledgeTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.receive.page.instructions.instructionsDescription", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.receive.page.addresses.addressesTitle", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.settings.icoPublicKey", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.create.dialog.title", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.dialog.passwordTooltip", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.summary.assets.tokensTitle", but the `description` and/or `defaultMessage` are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "wallet.settings.walletPublicKey", but the `description` and/or `defaultMessage` are different.

























$ yarn node-swc ./translations/translation-runner.ts
$ node -r @swc-node/register ./translations/translation-runner.ts
Duplicate ids:
 
  No duplicate ids found, great!
 
Maintaining en-US.json:
 
Untranslated keys:
  ImageUploadWidget.clickToUploadLabel: !!!or click to upload
  ImageUploadWidget.dropFileHint: !!!Drop file here
  asset.transactionConfirmation.assetLabel: !!!Token #{assetNumber}
  asset.transactionConfirmation.insufficientBalance: !!!Insufficient funds. The balance of the token in this wallet is {formattedBalance} (Unformatted: {unformattedBalance})
  asset.transactionConfirmation.missingToken: !!!There is no such token in this wallet
  asset.transactionConfirmation.unformattedAmountLabel: !!!unformatted amount
  asset.transactionConfirmation.unformattedAmountMessageForHardwareWallets: !!!Native assets may specify a number of decimal places, as defined in the Cardano token registry. Daedalus uses this information to format the amount that is being sent in the transaction.<br /><br />The native token unformatted amount is the amount without these decimal places. Please ensure that you verify both amounts, as some wallet software may not yet use the Cardano token registry.
  asset.transactionConfirmation.unformattedAmountMessageForSoftwareWallets: !!!Native assets may specify a number of decimal places, as defined in the Cardano token registry. Daedalus uses this information to format the amount that is being sent in the transaction.<br /><br />The native token unformatted amount is the amount without these decimal places. Please ensure that you verify both amounts, as some wallet software may not yet use the Cardano token registry.<br /><br />The native token unformatted amount will be displayed on the hardware wallet device during transaction confirmation.
  inline.editing.dropdown.changesSaved: !!!Your changes have been saved
  news.newsfeed.empty: Newsfeed is empty
  news.newsfeed.noFetch: Trying to fetch the newsfeed...
  news.newsfeed.title: Newsfeed
  staking.chart.tooltip.commitments.label: !!!commitments
  staking.chart.tooltip.mpc.phase.label: !!!MPC phase
  staking.chart.tooltip.openings.label: !!!openings
  staking.chart.tooltip.shares.label: !!!shares
  staking.chart.tooltip.slot.label: !!!slot
  staking.chart.tooltip.transactions.label: !!!transactions
  staking.info.buttonLabel: !!!Learn more
  staking.info.description: !!!Cardano is transitioning from a federated system operated by its creators to a decentralized system operated by a community of stake pool operators. During this transition, blocks will be produced both by the federated nodes and by stake pools. The percentage of blocks produced by stake pools will increase every epoch until block production in the Cardano network becomes fully decentralized.
  staking.info.heading: !!!Cardano is transitioning into a decentralized system
  staking.info.percentage: !!!Currently, {percentage}% of the blocks are produced by the stake pools.
  voting.catalystFooterLinks.announcements: Announcements Channel
  voting.catalystFooterLinks.community: Community Chat
  voting.catalystFooterLinks.newsletter: Newsletter
  voting.catalystFooterLinks.projects: Projects
  voting.registerToVote.header: Register to vote
  voting.resultsPhase.viewResultsLinkURL: https://projectcatalyst.io/funds
  voting.votingRegistration.steps.step.5.label: QR code
  wallet.file.import.dialog.headline: !!!Import Wallet
  wallet.file.import.dialog.passwordFieldPlaceholder: !!!Password
  wallet.file.import.dialog.repeatPasswordLabel: !!!Repeat password
  wallet.file.import.dialog.spendingPasswordLabel: !!!Wallet password
  wallet.file.import.dialog.submitLabel: !!!Import wallet
  wallet.file.import.dialog.wallet.name.input.hint: !!!e.g: Shopping Wallet
  wallet.file.import.dialog.wallet.name.input.label: !!!Wallet name
  wallet.file.import.dialog.walletFileHint: !!!Drop file here or click to choose
  wallet.file.import.dialog.walletFileLabel: !!!Import file
  wallet.settings.recoveryPhraseVerification.timeUntilWarningReplacement: !!!ヶ月,か月
  wallet.transaction.transactionMetadataDescription: Transaction metadata is not moderated and may contain inappropriate content. Show unmoderated content.
  wallet.transactions.search.hint: !!!Search transaction
 
Maintaining ja-JP.json:
 
Untranslated keys:
  ImageUploadWidget.clickToUploadLabel: !!!or click to upload
  ImageUploadWidget.dropFileHint: !!!Drop file here
  asset.transactionConfirmation.assetLabel: !!!Token #{assetNumber}
  asset.transactionConfirmation.insufficientBalance: !!!Insufficient funds. The balance of the token in this wallet is {formattedBalance} (Unformatted: {unformattedBalance})
  asset.transactionConfirmation.missingToken: !!!There is no such token in this wallet
  asset.transactionConfirmation.unformattedAmountLabel: !!!unformatted amount
  asset.transactionConfirmation.unformattedAmountMessageForHardwareWallets: !!!Native assets may specify a number of decimal places, as defined in the Cardano token registry. Daedalus uses this information to format the amount that is being sent in the transaction.<br /><br />The native token unformatted amount is the amount without these decimal places. Please ensure that you verify both amounts, as some wallet software may not yet use the Cardano token registry.
  asset.transactionConfirmation.unformattedAmountMessageForSoftwareWallets: !!!Native assets may specify a number of decimal places, as defined in the Cardano token registry. Daedalus uses this information to format the amount that is being sent in the transaction.<br /><br />The native token unformatted amount is the amount without these decimal places. Please ensure that you verify both amounts, as some wallet software may not yet use the Cardano token registry.<br /><br />The native token unformatted amount will be displayed on the hardware wallet device during transaction confirmation.
  inline.editing.dropdown.changesSaved: !!!Your changes have been saved
  staking.chart.tooltip.commitments.label: !!!commitments
  staking.chart.tooltip.mpc.phase.label: !!!MPC phase
  staking.chart.tooltip.openings.label: !!!openings
  staking.chart.tooltip.shares.label: !!!shares
  staking.chart.tooltip.slot.label: !!!slot
  staking.chart.tooltip.transactions.label: !!!transactions
  staking.info.buttonLabel: !!!Learn more
  staking.info.description: !!!Cardano is transitioning from a federated system operated by its creators to a decentralized system operated by a community of stake pool operators. During this transition, blocks will be produced both by the federated nodes and by stake pools. The percentage of blocks produced by stake pools will increase every epoch until block production in the Cardano network becomes fully decentralized.
  staking.info.heading: !!!Cardano is transitioning into a decentralized system
  staking.info.percentage: !!!Currently, {percentage}% of the blocks are produced by the stake pools.
  staking.stakePools.tableHeader.performance: !!!Performance
  staking.stakePools.tableHeader.roi: !!!Roi
  staking.stakePools.tableHeader.uptime: !!!Uptime (days)
  voting.resultsPhase.viewResultsLinkURL: https://projectcatalyst.io/funds
  wallet.create.dialog.configStep: !!!Config
  wallet.create.dialog.hashImageStep: !!!Hash & Image
  wallet.create.dialog.instructionsStep: !!!Instructions
  wallet.create.dialog.mnemonicsStep: !!!Mnemonics
  wallet.create.dialog.templateStep: !!!Template
  wallet.create.dialog.validateStep: !!!Validate
  wallet.file.import.dialog.headline: !!!Import Wallet
  wallet.file.import.dialog.passwordFieldPlaceholder: !!!Password
  wallet.file.import.dialog.repeatPasswordLabel: !!!Repeat password
  wallet.file.import.dialog.spendingPasswordLabel: !!!Wallet password
  wallet.file.import.dialog.submitLabel: !!!Import wallet
  wallet.file.import.dialog.wallet.name.input.hint: !!!e.g: Shopping Wallet
  wallet.file.import.dialog.wallet.name.input.label: !!!Wallet name
  wallet.file.import.dialog.walletFileHint: !!!Drop file here or click to choose
  wallet.file.import.dialog.walletFileLabel: !!!Import file
  wallet.legacy.notification.descriptionWithFunds: !!!"{transferWalletName}"" is a legacy wallet. It does not support Shelley delegation features. To earn ada from delegating your stake, please move all funds from this wallet to a new, Shelley-compatible wallet. You can create a brand new wallet or move funds to one of the existing wallets.
  wallet.settings.assurance: !!!Transaction assurance security level
  wallet.transactions.search.hint: !!!Search transaction
 
Done in 1.32s.
diff -r .i18n-locales-before/defaultMessages.json source/renderer/app/i18n/locales/defaultMessages.json
10617c10617
< ]
---
> ]
\ No newline at end of file
diff -r .i18n-locales-before/en-US.json source/renderer/app/i18n/locales/en-US.json
557d556
<   "loading.mithrilBootstrap.error.retry": "Retry",
559a559
>   "loading.mithrilBootstrap.error.retry": "Retry",
1907c1907
< }
---
> }
\ No newline at end of file
diff -r .i18n-locales-before/ja-JP.json source/renderer/app/i18n/locales/ja-JP.json
2,3d1
<   "loading.mithrilBootstrap.error.replayLedger": "ブロックを保持して台帳を再構築",
<   "loading.mithrilBootstrap.error.replayLedgerHint": "台帳スナップショットの変換に失敗しました。ダウンロードして検証済みのブロックデータを保持したまま、このコンピューター上で台帳を再構築できます。この処理には長い時間がかかる場合がありますが、ブロックを再度ダウンロードする必要はありません。",
558a557,558
>   "loading.mithrilBootstrap.error.replayLedger": "ブロックを保持して台帳を再構築",
>   "loading.mithrilBootstrap.error.replayLedgerHint": "台帳スナップショットの変換に失敗しました。ダウンロードして検証済みのブロックデータを保持したまま、このコンピューター上で台帳を再構築できます。この処理には長い時間がかかる場合がありますが、ブロックを再度ダウンロードする必要はありません。",
1907c1907
< }
---
> }
\ No newline at end of file

ERROR: committed translation artifacts are out of date.
Run 'yarn i18n:manage' and commit the resulting changes.