IntersectMBO / IntersectMBO/cardano-ledger
Create Ledger State test tool
- Dominant language
- Haskell
- Stars
- 295
- Forks
- 179
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 29
Description
In order to avoid bugs like the one that was fixed in #4589 we need a set of tools that we can easily apply to the Mainnet's ledger state.
This tool will have a command line interface for reading a ledger state snapshot in the format that is produced by the consensus code. After successfully reading the snapshot it will be able to perform various tests on it. Here is a short list that comes to mind:
1. Roundtrip test. Serialize it and then deserialize it back, comparing that the actual contents have not changed.
2. Translate test. Whenever new era has been implemented, but is not active yet we can take a `NewEpochState` and translate into the next era. After the translation it would be followed by the same Roundtrip test as above.
This tool would then be used by integration test team to run on the latest mainnet snapshot. This should be fairly simple to implement, since latest mainnet snapshot is always available after the sync test.
Contributor guide
Assessment
This issue has not been assessed yet.