IntersectMBO / IntersectMBO/ouroboros-consensus

Plan for breaking changes in Shelley `ApplyTxErr` CBOR

Open
#656 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.