IntersectMBO / IntersectMBO/cardano-ledger

Stop using `Coders` for onchain data decoding

Open
#5,718 0 comments 0 reactions 1 assignee Claimed by @aniketd View on GitHub
DijkstraEra serialization
Dominant language
Haskell
Stars
295
Forks
179
Avg merge
4d 7h
Merged PRs (30d)
29

Description

`Coders` interface gave us nice approach to decoding without worrying about length. However, it does not come without a runtime overhead. With our testing facilities using roundtrip testing and Cuddle we have all the confidence we need to no longer worry that we can get the number of elements encoded incorrectly.

So, the plan is for Dijkstra era to fully stop using Coders for all of the types that are used on chain.

However, in order to avoid any surprises we will do this using versioning mechanism available for us in decoders. In other words, starting with PV12 we will no longer use anything from the `Coders` interface, while continue using decoders that we have today for Conway era.

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.