Skip to content

Conversation

@pedrohba1
Copy link
Contributor

All the interface receives is a block. We can provide Block type conversions in Nozzle for this case.

As we know, just the block is not enough for generating the proof. Generating a proof requires different data, specific to where the block number is relative to the Merge (pre-merge, pre-capella, post-capella).

This interface supposes that the users of the lib won't want to handle fetching the necessary data for proof generation. So, the functions internally should fetch the rest of the data, preferably through firehose. All the lib user needs is the full execution block. Which is likely all they have.

@pedrohba1 pedrohba1 requested a review from anirudh2 February 18, 2025 15:06
@pedrohba1 pedrohba1 self-assigned this Feb 18, 2025
@pedrohba1 pedrohba1 marked this pull request as draft February 18, 2025 15:07
EvmChain::Ethereum
}

fn prove_block(&self) -> BlockHeaderProof {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generating this proof is going to require the block headers for all other blocks in the same era. How is this function going to get the required data?

@suchapalaver
Copy link
Contributor

@pedrohba1 , the vee crate is supposed to be the top-level crate that exposes the others, kind of like how alloy relates to the other alloy-<...> crates.

May I suggest creating a new crate for this work? @anirudh2, not sure how much this matters at this stage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants