argumentcomputer / argumentcomputer/zk-light-clients
Simplifying the serde code for Ethereum `Compact*` data types
- Dominant language
- Rust
- Stars
- 70
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
As pointed out by @huitseeker in #125 (https://github.com/lurk-lab/zk-light-clients/pull/125#discussion_r1695221867), we could update the serde methods of the `Compact*` data structure in the Ethereum Light Client.
Those methods are currently custom but leveraging [`plain`](https://docs.rs/plain/latest/plain/) or even [scroll]https://crates.io/crates/scroll) could do exactly what we want without adding too much burden on a future auditor's plate.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the custom serde methods on the Ethereum Light Client's Compact* data structures, then read the discussion in #125 and compare the plain and scroll approaches mentioned there. Done means the existing serialization behavior is preserved with simpler serde implementations and the relevant checks still pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100