IntersectMBO / IntersectMBO/cardano-ledger

Remove `isValid` from transaction deserialization

Open
#5,605 0 comments 0 reactions 0 assignees View on GitHub
cddl EulerEra serialization
Dominant language
Haskell
Stars
295
Forks
179
Avg merge
4d 7h
Merged PRs (30d)
29

Description

#5480 has implemented part of CIP-167, namely:
* it prevents `isValid=False` from being decoded
* Preserves backwards compatibility for easier transition from Conway to Dijkstra era by allowing both: presence of isValid=True and adding new functionality of no flag at all.

This ticket is about removing this backwards compatibility of this false flag being present, namely removal of this case in CDDL:
```cddl
transaction_body, transaction_witness_set, true, auxiliary_data/ nil
```

Contributor guide

Open the contributing guide

Research direction

Start by locating the CDDL rule for transaction_body, transaction_witness_set, true, auxiliary_data/ nil and the transaction deserialization path that handles it. Remove the backwards-compatible false-flag case while preserving the accepted true and no-flag forms, then run the related serialization or deserialization tests if present.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
blockchain
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.