cardano-ledger icon indicating copy to clipboard operation
cardano-ledger copied to clipboard

Ts additions prime spec cert steps

Open TimSheard opened this issue 1 year ago • 2 comments

Get the CERTS conformance rule working. This is complicated because of slight differences between the implementation and the spec. These difference come in two flavors

  1. The spec makes more tests than the implementation using the withdrawals which are not part of the implementation. The solution to these difference is to randomly generate more refined inputs, which will make the spec tests pass, and will be ignored by the implementation.
  2. The Spec zeros out the reward balances for the withdrawals. The solution to this is to "fixup" the implementation test by zeroing out its reward balances for the withdrawals before comparing the final states of the implementation and the spec.

This PR was complicated by a bug in the MAlonzo code, that has now been fixed.

Checklist

  • [x] Commit sequence broadly makes sense and commits have useful messages
  • [x] New tests are added if needed and existing tests are updated
  • [ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
  • [ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the versioning process.
  • [ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
  • [x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
  • [x] Cabal files are formatted (use scripts/cabal-format.sh)
  • [x] hie.yaml has been updated (use scripts/gen-hie.sh)
  • [x] Self-reviewed the diff

TimSheard avatar Aug 13 '24 17:08 TimSheard

I have brought this branch up to date with the changes that have been merged to master, and the changes that were made in the "Alternative steps" branch that this branch is based on.

teodanciu avatar Aug 21 '24 09:08 teodanciu

Rebased against master again, in order to get rid of the commits that have already been merged to master.

teodanciu avatar Aug 22 '24 11:08 teodanciu