argumentcomputer / argumentcomputer/zk-light-clients

Simplifying the serde code for Ethereum `Compact*` data types

Open
#128 0 comments 0 reactions 0 assignees View on GitHub
enhancement ethereum good first issue
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.