Skip to content

Conversation

bxue-l2
Copy link
Contributor

@bxue-l2 bxue-l2 commented Aug 18, 2025

Why are these changes needed?

Summary

Updates EigenDA specification documentation to clarify encoded payload definitions and blob derivation procedures:

  • Updated encoded payload definition in data structures specification
  • Enhanced blob derivation and decoding section with clearer procedures and implementation details
  • Refreshed integration diagrams - updated eigenda-blob-derivation.png and payload-to-blob-encoding.png with improved visual clarity

Checks

  • I've made sure the tests are passing. Note that there might be a few flaky tests, in that case, please comment that they are not relevant.
  • I've checked the new test coverage and the coverage percentage didn't drop.
  • Testing Strategy
    • Unit tests
    • Integration tests
    • This PR is not tested :(

Copy link

github-actions bot commented Aug 18, 2025

The latest Buf updates on your PR. Results from workflow Buf Proto / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedAug 21, 2025, 8:35 PM

@bxue-l2 bxue-l2 changed the title docs(integration):update spec for encoded payload definition and update blob decoding docs(integration): update spec for encoded payload definition and update blob decoding Aug 18, 2025
@bxue-l2 bxue-l2 marked this pull request as ready for review August 18, 2025 23:40
@@ -25,7 +25,8 @@ The golang payload clients provided in the eigenda repo currently only support [
0x00, payload[n:len(payload)], 0x00, ..., 0x00]
```

where the last chunk is padded with 0s such that the total length is a multiple of 32 bytes.
- The final part of the payload is zero-padded so total length is a multiple of 32 bytes.
Copy link
Contributor

Choose a reason for hiding this comment

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

multiple of 32 bytes - or multiple of 32 bytes AND power of 2?

Copy link
Collaborator

Choose a reason for hiding this comment

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

+1. It's written as a separate bullet point but I feel like they should be combined since its all about padding. And actually this one bullet point is a subset of the other one, so can be removed.

Copy link
Contributor Author

@bxue-l2 bxue-l2 Aug 20, 2025

Choose a reason for hiding this comment

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

The preimage oracle served encoded payload. When the EigenDA blob derivation queries the preimage oracle for the encoded payload corresponding to a DA cert, the preimage oracle (i.e. the preimage request module of the EigenDA proxy) downloads the EigenDA blob from relay or directly from EigenDA operators.
If verification fails, it discards the blob and retries with other sources until a valid one is found. Once verified, it returns the encoded payload to the derivation step.
The preimage oracle performs checks on the blob against the KZG commitment from the DA cert.
If verification fails, it discards the blob and retries with other sources until a valid one is found. Once verified, it returns the encoded payload to the derivation step.
Copy link
Contributor

Choose a reason for hiding this comment

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

looks like this is duplicated with line 166

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed

@@ -25,7 +25,8 @@ The golang payload clients provided in the eigenda repo currently only support [
0x00, payload[n:len(payload)], 0x00, ..., 0x00]
```

where the last chunk is padded with 0s such that the total length is a multiple of 32 bytes.
- The final part of the payload is zero-padded so total length is a multiple of 32 bytes.
Copy link
Collaborator

Choose a reason for hiding this comment

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

+1. It's written as a separate bullet point but I feel like they should be combined since its all about padding. And actually this one bullet point is a subset of the other one, so can be removed.

Copy link
Contributor Author

@bxue-l2 bxue-l2 left a comment

Choose a reason for hiding this comment

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

commit suggestion and comments

samlaf
samlaf previously approved these changes Aug 20, 2025
Copy link
Collaborator

@samlaf samlaf left a comment

Choose a reason for hiding this comment

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

LGTM, except for #1891 (comment) which I'm still unsure.

ethenotethan
ethenotethan previously approved these changes Aug 21, 2025
Copy link
Contributor

@ethenotethan ethenotethan left a comment

Choose a reason for hiding this comment

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

LGTM 🔥

@bxue-l2 bxue-l2 dismissed stale reviews from ethenotethan and samlaf via 204f319 August 21, 2025 20:35
@bxue-l2 bxue-l2 added this pull request to the merge queue Aug 22, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 22, 2025
@bxue-l2 bxue-l2 added this pull request to the merge queue Aug 22, 2025
Merged via the queue into master with commit 17986a3 Aug 22, 2025
24 checks passed
@bxue-l2 bxue-l2 deleted the docs--update-spec-to-encoded-payload-and-clarify-derivation-procedures branch August 22, 2025 03:58
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.

3 participants