IntersectMBO / IntersectMBO/cardano-ledger
Hide `VMap` constructor
Open
:cake: good first issue
:credit_card: technical-debt
- Dominant language
- Haskell
- Stars
- 295
- Forks
- 179
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 29
Description
Giving ability to construct `VMap` with underlying `KVVector`, allows to bypass internal invariant and is unsafe.
Also make sure `unVMap` cannot be used as field modifier.
Contributor guide
Research direction
Locate the VMap type and its exported constructor, then inspect how unVMap is exposed and used as a field modifier. Confirm the existing invariant around the underlying KVVector and identify relevant tests or module export checks. Done means callers cannot construct VMap directly or use unVMap as a field modifier, while existing valid usage remains covered.
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
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100