Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: better errors and docs for batch-hash-mismatch error #322

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

samlaf
Copy link
Collaborator

@samlaf samlaf commented Mar 4, 2025

Fixes Issue

Fixes #320
Fixes DAINT-323

Changes proposed

Realized while trying to implement the fix we have been talking about that there is currently no good way to deal with the error... decided to still commit it for better documentation of why this is not possible. See code comments for explanation.

Also updated the troubleshooting_v1.md docs to explain that this error is only possible on op stack.

Screenshots (Optional)

Note to reviewers

samlaf added 2 commits March 3, 2025 22:14
This permits handling it. Realized while implementing this that there is currently no good way to deal with the error however... but decided to still commit it for better documentation of why this is not possible.
…mentation

Explain that this is only possible on op-stack.
@@ -2,10 +2,14 @@

List of common bugs and issues that you may encounter while using eigenda-proxy.

## "batch hash mismatch" error
## "batch hash mismatch" error (op-stack only)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also insecure Orbit integrations (I.e, L3s)


This error returned [here](https://github.com/Layr-Labs/eigenda-proxy/blob/97b71bda6e2136a6c0d71be2f7e9642dc840fefc/verify/cert.go#L125) happens when verifying a v1 cert, where the batch hash in the cert does not match the hash that was computed when the cert was bridged onchain by the EigenDA disperser.

> Note: This error is only relevant for op stacks. Nitro does not suffer from this error because the sequencer inbox is an actual contract which ensures that the cert is valid, as opposed to op's batcher inbox which is just an EOA and hence cannot ensure atomicity of the confirmBatch transaction on the EigenDAServiceManager and the cert being posted to the inbox.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
> Note: This error is only relevant for op stacks. Nitro does not suffer from this error because the sequencer inbox is an actual contract which ensures that the cert is valid, as opposed to op's batcher inbox which is just an EOA and hence cannot ensure atomicity of the confirmBatch transaction on the EigenDAServiceManager and the cert being posted to the inbox.
> Note: This error is only relevant for op stacks. Nitro layer2s that settle to an Ethereum network do not suffer from this error because the sequencer inbox is an actual contract which verifies the cert against EigenDA service manager state, as opposed to op's batcher inbox which is just an EOA. Arbitrum Layer 3s that use EigenDA are also susceptible to the mismatch error since certificates can't be verified on the Layer 2 sequencer inbox.

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.

docs: update explanation for batch-hash-mismatch bug (wrong for arb)
2 participants