Skip to content

Conversation

@shyam-patel-kira
Copy link
Contributor

@shyam-patel-kira shyam-patel-kira commented Dec 17, 2025

Add E2E Tests and Disperser Mode Support for EigenDA V2

  • Implements dual-mode testing for EigenDA V2 integration

@github-actions
Copy link

github-actions bot commented Dec 17, 2025

❌ 29 Tests Failed:

Tests completed Failed Passed Skipped
2174 29 2145 0
View the top 3 failed tests by shortest run time
TestEigenDAV1Integration
Stack Traces | 0.000s run time
=== RUN   TestEigenDAV1Integration
    eigenda_test.go:398: ❌ EigenDA proxy not reachable at http://127.0.0.1:4242: failed to execute request: Get "http://127.0.0.1:4242/memstore/config": dial tcp 127.0.0.1:4242: connect: connection refused
--- FAIL: TestEigenDAV1Integration (0.00s)
TestAllowPostingFirstBatchWhenSequencerMessageCountMismatchEnabled
Stack Traces | -0.000s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
INFO [01-05|14:03:34.806]  - Berlin:                      #0        (https://ethereum.github.io/execution-specs/src/ethereum/forks/berlin/__init__.py.html)
INFO [01-05|14:03:34.806]  - London:                      #0        (https://ethereum.github.io/execution-specs/src/ethereum/forks/london/__init__.py.html)
INFO [01-05|14:03:34.806]  - Arrow Glacier:               #0        (https://ethereum.github.io/execution-specs/src/ethereum/forks/arrow_glacier/__init__.py.html)
INFO [01-05|14:03:34.806]  - Gray Glacier:                #0        (https://ethereum.github.io/execution-specs/src/ethereum/forks/gray_glacier/__init__.py.html)
INFO [01-05|14:03:34.806] 
INFO [01-05|14:03:34.806] Merge configured:
INFO [01-05|14:03:34.806]  - Hard-fork specification:    https://ethereum.github.io/execution-specs/src/ethereum/forks/paris/__init__.py.html
INFO [01-05|14:03:34.806]  - Network known to be merged
INFO [01-05|14:03:34.806]  - Total terminal difficulty:  0
INFO [01-05|14:03:34.806] 
INFO [01-05|14:03:34.806] Post-Merge hard forks (timestamp based):
INFO [01-05|14:03:34.806]  - Shanghai:                    @0          (https://ethereum.github.io/execution-specs/src/ethereum/forks/shanghai/__init__.py.html)
INFO [01-05|14:03:34.806]  - Cancun:                      @0          (https://ethereum.github.io/execution-specs/src/ethereum/forks/cancun/__init__.py.html)
INFO [01-05|14:03:34.806]  - Prague:                      @0          (https://ethereum.github.io/execution-specs/src/ethereum/forks/prague/__init__.py.html)
INFO [01-05|14:03:34.806] 
INFO [01-05|14:03:34.806] ---------------------------------------------------------------------------------------------------------------------------------------------------------
INFO [01-05|14:03:34.806] 
INFO [01-05|14:03:34.806] Loaded most recent local block           number=0   hash=58f766..8e6c33                   age=56y9mo4w
INFO [01-05|14:03:34.807] Initialized transaction indexer          range="last 2350000 blocks"
DEBUG[01-05|14:03:34.808] Persisted buffer content                 nodes=35    accounts=26 slots=0     bytes=5.31KiB elapsed="166.571µs"
TestBlockValidatorSimpleOnchain
Stack Traces | -0.000s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
DEBUG[01-05|14:02:28.563] Journaled pathdb diff layer              root=84cad1..f564e3 parent=8f4a1a..d82a6e id=23                 block=22
DEBUG[01-05|14:02:28.563] Journaled pathdb diff layer              root=e099e3..4a9f16 parent=84cad1..f564e3 id=24                 block=23
DEBUG[01-05|14:02:28.563] Journaled pathdb diff layer              root=55dfc8..3e7468 parent=e099e3..4a9f16 id=25                 block=24
DEBUG[01-05|14:02:28.564] Journaled pathdb diff layer              root=0a5a84..260b03 parent=55dfc8..3e7468 id=26                 block=25
DEBUG[01-05|14:02:28.564] Journaled pathdb diff layer              root=061aa3..68aab8 parent=0a5a84..260b03 id=27                 block=26
DEBUG[01-05|14:02:28.564] Journaled pathdb diff layer              root=d0d688..3b939e parent=061aa3..68aab8 id=28                 block=27
INFO [01-05|14:02:28.564] Persisted dirty state to disk            size=125.69KiB elapsed=1.923ms
INFO [01-05|14:02:28.564] Blockchain stopped
TRACE[01-05|14:02:28.564] P2P networking is spinning down
DEBUG[01-05|14:02:28.568] Served eth_getBalance                    reqid=5565  duration="53.48µs"
DEBUG[01-05|14:02:28.568] Served eth_getBlockByNumber              reqid=2162  duration="97.852µs"
TRACE[01-05|14:02:28.568] Handled RPC response                     reqid=5565  duration="1.212µs"
DEBUG[01-05|14:02:28.568] Executing EVM call finished              runtime="173.423µs"
DEBUG[01-05|14:02:28.569] Served eth_call                          reqid=5566  duration="282.718µs"
TRACE[01-05|14:02:28.569] Handled RPC response                     reqid=5566  duration="1.643µs"
TRACE[01-05|14:02:28.569] Handled RPC response                     reqid=2162  duration=912ns
DEBUG[01-05|14:02:28.569] Served eth_getBlockByNumber              reqid=2163  duration="87.132µs"
TRACE[01-05|14:02:28.569] Handled RPC response                     reqid=2163  duration="1.182µs"
DEBUG[01-05|14:02:28.569] Served eth_blockNumber                   reqid=5567  duration="9.738µs"
TRACE[01-05|14:02:28.569] Handled RPC response                     reqid=5567  duration="1.463µs"

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

Comment on lines 17 to 25
# V2 uses latest image (v2.5.0+) with V2 backend support
# V2 implements OP Alt-DA spec with Optimism routes
PROXY_IMAGE="ghcr.io/layr-labs/eigenda-proxy:latest"
CONTAINER_NAME="eigenda-proxy-v2-nitro-test-instance"
STORAGE_BACKENDS="V2"
DISPERSAL_BACKEND="V2"
# Enable admin API for runtime backend switching
ENABLE_ADMIN_API="true"
;;
Copy link
Collaborator

Choose a reason for hiding this comment

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

what exactly are you testing? I'd imagine we'd need to configure these server specific env vars as well as pass in arb as a supported option via the APIS_ENABLED user flag

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that is correct, the latest changes I pushed has updated this script

…port

This commit fixes ReferenceDA certificate validation failures by:

1. **Contract Support for ALT DA Certificates (0x01)**:
   - Added DAC_CERTIFICATE_MESSAGE_HEADER_FLAG (0x01) to SequencerInbox.sol
   - Updated isValidCallDataFlag() to accept 0x01 header byte
   - Added flag to ISequencerInbox.sol interface
   - Added DACertificateMessageHeaderFlag to KnownHeaderBits in daprovider/util.go

2. **ReferenceDAProofValidator Contract Deployment**:
   - Modified setupReferenceDAServer() to deploy ReferenceDAProofValidator contract with trusted signer
   - Updated setupReferenceDAServerForFallback() with same deployment logic
   - Added l1info parameter to both functions to get transaction options for deployment
   - Added import for solgen/go/localgen to access contract deployment bindings

3. **Test Improvements**:
   - Both TestReferenceDAIntegration and TestEigenDAV2WithReferenceDAFallback now pass
   - Certificate signer is properly registered as a trusted signer in deployed validator contract
   - Contract address is used for on-chain validation during certificate verification

Previous errors resolved:
- ❌ "certificate validation failed: no contract code at given address" → ✅ Fixed
- ❌ "InvalidHeaderFlag(0x01)" from SequencerInbox contract → ✅ Fixed

Tests passing locally:
- ✅ TestReferenceDAIntegration (22.12s)
- ✅ TestEigenDAV2WithReferenceDAFallback (22.07s)
@shyam-patel-kira shyam-patel-kira marked this pull request as ready for review January 5, 2026 16:30
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