IntersectMBO / IntersectMBO/ouroboros-consensus
Plan for breaking changes in Shelley `ApplyTxErr` CBOR
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
PR input-output-hk/cardano-ledger-specs#1740 would enable the straight-forward and desired design in the Cardano ThreadNet tests. But the PR makes changes to CBOR instances that `ouroboros-consensus-shelley` reuses, and thereby changes our binary compatibility.
That PR makes two specific changes.
- A constructor of `PredicateFailure` -- eventually included in `ApplyTxError` -- gains an argument. (We could instead add a new partially-redundant constructor, if that would be easier to handle.)
- The verkey and signature in a bootstrap witnesses is now fixed to Ed25519: size of 32 and 64 bytes respectively. This is not a change compared to "real" Shelley crypto, but is a change for mock crypto used in tests, etc.
This Issue tracks determining how to mitigate the corresponding breaks of binary compatibility for downstream users of `ouroboros-shelley` and `ouroboros-cardano`. It'd be particularly nice if the solution could avoid similar fragility in the future.
Discussion from @mrBliss on Slack `#ouroboros-prototyping`: https://input-output-rnd.slack.com/archives/GCW2S19CM/p1596175870006300 https://input-output-rnd.slack.com/archives/GCW2S19CM/p1596176711012900
Contributor guide
Assessment
This issue has not been assessed yet.