Make ZeroTreasuryWithdrawals a permanent check in gov state transation rule#5797
Open
koslambrou wants to merge 1 commit intomasterfrom
Open
Make ZeroTreasuryWithdrawals a permanent check in gov state transation rule#5797koslambrou wants to merge 1 commit intomasterfrom
koslambrou wants to merge 1 commit intomasterfrom
Conversation
…n rule In `conwayGovTransition`, we remove the condition on `hardforkConwayBootstrapPhase` for checking `ZeroTreasuryWithdrawals`. We then replayed the preview, preprod and mainnet public chains with this change which guarentees there were no empty treasury withdrawals pre-Conway era.
0a53b70 to
1d0e771
Compare
lehins
requested changes
May 5, 2026
Collaborator
lehins
left a comment
There was a problem hiding this comment.
Unfortunately, the proof was done incorrectly. Because this is a ledger rule validation that we are checking here the command that should have been used is:
$ cabal run cardano-streamer:exe:cstreamer -- replay --chain-dir /media/nvme/cardano-node/preview/db --config /media/nvme/cardano-node/preview/config.json --validate full
Note the --validate full. Or if it was omitted that would have worked too.
The reason why previous test that you did for #5757 had --validate none and it was sufficient, because that was a decoding change, not ledger validation change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
In
conwayGovTransition, we remove the condition onhardforkConwayBootstrapPhasefor checkingZeroTreasuryWithdrawals. From now on, all eras require that withdrawals (not only post-Conway era) are positive numbers.We then replayed the preview, preprod and mainnet public chains with this change which guarantees there were no empty treasury withdrawals pre-Conway era.
Here's the proof that we replayed on public networks.
First, here's the same change, but on a ledger version that works with node 10.x: https://github.com/IntersectMBO/cardano-ledger/tree/koslambrou/make-zero-withdrawal-permanent-check. Commit hash is:
357cdd1f47cd3be82a239f4d8bed9ba117effbf8Then, we used
cardano-streamerto replay the chain for each public network.We first build
cardano-streamerwith our patch. See the cardano-ledger commit hash which matches the one above:For preview:
For preprod:
For mainnet:
Fix #5784
Checklist
CHANGELOG.mdfiles updated for packages with externally visible changes.NOTE: New section is never added with the code changes. (See RELEASING.md).
.cabalandCHANGELOG.mdfiles when necessary, according to theversioning process.
.cabalfiles updated when necessary.NOTE: If bounds change in a cabal file, that package itself must have a version increase. (See RELEASING.md).
scripts/fourmolize.sh).scripts/cabal-format.sh).scripts/gen-cddl.sh)hie.yamlupdated (usescripts/gen-hie.sh).