Skip to content

chore: Update release 2.1 from master #1772

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

Merged
merged 47 commits into from
Jul 17, 2025
Merged

Conversation

dmanc
Copy link
Contributor

@dmanc dmanc commented Jul 16, 2025

Why are these changes needed?

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 :(

samlaf and others added 30 commits July 3, 2025 02:12
* remove ext data type

* fix: Oversized blob test

* fix: Oversized blob test - use smaller blob

* remove prover with verifier

* remove prover with verifier

* chore: Update G1 default value

* fix: Resolve commitment decoding bug

* Added badge for current actions.

Signed-off-by: Cody Littley <[email protected]>

* Split actions into smaller workflows.

Signed-off-by: Cody Littley <[email protected]>

* Remove omnibus actions workflow.

Signed-off-by: Cody Littley <[email protected]>

* Fixed holesky test name

Signed-off-by: Cody Littley <[email protected]>

* Updated readme with more badges.

Signed-off-by: Cody Littley <[email protected]>

* Rename some things.

Signed-off-by: Cody Littley <[email protected]>

* feat: Optimism v1.9 support

* backup

* Update README.md

Co-authored-by: Ethen <[email protected]>

* Update store/router.go

Co-authored-by: Ethen <[email protected]>

* PR review

* read from eigenda first, failover to s3

* docs(README.md): fix typo

* chore: lagniappe v1.4 updates

* chore: lagniappe v1.4 updates - fix readme

* chore: lagniappe v1.4 updates - update README.md

* replace g1.point with larger g1.point that supports 32MiB (#87)

* replace g1.point with larger g1.point that supports 32MiB

* change flag related part to blob size

---------

Co-authored-by: Ubuntu <[email protected]>

* Fix syntax in op-devnet-allocs.sh

The ending "fi" for the if-statement was accidentally omitted.

* chore: go fmt

* fix: rpc server metric label shortened to commitment header

* chore: EigenDA V8 dep bump

* chore: EigenDA V8 dep bump - update large blob test

* chore: EigenDA V8 dep bump - bump eigenda to incorporate tls disperser read client fix && add linting

* chore: EigenDA V8 dep bump - consolidate linting actions

* chore: EigenDA V8 dep bump - bump lint version

* chore: EigenDA V8 dep bump - update to latest versoin

* chore: Update runners

* chore: Update lint install

* chore: Update lint install

* chore: Update lint install

* chore: rm gosec from lint cfg

* Update lint.yml

* chore: Update commitment schemas in README

* chore: Update commitment schemas in README - update env ingestion

* chore: less verbose PR template

* chore: Update eigenda dep to v0.8.1 && update tests for 16MB blobs (#100)

* chore: Update eigenda dep to v0.8.1 && update tests for 16MB blobs

* chore: Update eigenda dep to v0.8.1 && update tests for 16MB blobs - fix lint

* refactor(metrics): remove dependency on optimism metrics (#94)

* refactor(metrics): remove dependency on optimism metrics
Also add status code label to http_requests_total metric

* doc: added TODO comment for updating commitmentHeader in metric middleware

* fix: lint accomodate -> accommodate

* fix: lint

* docs: fix file misnaming (#103)

* change disperseBlob response timeout to 60sec (#105)

* change disperseBlob response timeout to 60sec

* fix README

---------

Co-authored-by: Ubuntu <[email protected]>

* feat: Support explict modes for read fallbacks and caching (#104)

* feat: Support explict modes for read fallback and caching

* feat: Support explict modes for read fallback and caching - updated docs and fixed bugs

* feat: Support explict modes for read fallback and caching - updated docs and fixed bugs

* feat: Support explict modes for read fallback and caching - updated E2E test

* feat: Support explict modes for read fallback and caching - updated E2E test

* feat: Support explict modes for read fallback and caching - updated cfg validation tests

* feat: Support explict modes for read fallback and caching - incorporate PR feedback

* feat: Support explict modes for read fallback and caching - update query timeout

* chore: Update large blob test to use 16mb (#108)

* chore: Update large blob test to use 16mb

* chore: Update large blob test to use 16mb - fix cache retrieval bug

* chore: Update large blob test to use 16mb - update docs

* fix: Commitment decoding bug && server handler tests (#112)

* fix: Commitment decoding bug && svr handler tests

* fix: Commitment decoding bug && svr handler tests - lint fix

* fix: Commitment decoding bug && svr handler tests - mv gosec to golangci lint

* fix: Commitment decoding bug && svr handler tests - rm false positives

* Feat memstore artificial latency (#114)

* chore: make server flags with default value optional

* chore: fix run-server command (renamed to run-memstore-server)

* feat: put/get artificial latency for memstore backend

* doc: add memstore put/get latency flags into README options table

* chore: clean flags

* refactor: use config for memstore

* fix: memstore tests

* refactor: add default verifier config creation function for memstore tests

* fix(lint): remove unused var

* chore: rename memstore eventLoop -> pruningLoop (#117)

* BREAKING suggestion: change dockerfile to use entrypoint instead of cmd (#116)

breaking: change dockerfile to use entrypoint instead of cmd

* Chore give docker image fullname (#119)

* chore: docker-build uses full ghcr image name

* chore: clean dockerignore file

* feat: Redis backend target (#111)

* feat: Redis backend target

* feat: Redis backend target - update holesky test make target

* feat: Redis backend target - address PR feedback

* feat: Redis backend target - rebase to new main

* Update Makefile: add disperse-test-blob (#115)

* Update Makefile: add disperse-test-blob

This'll make it easier to test that the da-proxy is working manually. eg:
```
make run-memstore-server
make disperse-test-blob
```

* Update Makefile

* chore(breaking): add EIGENDA_PROXY prefix to memstore flags (#121)

* chore: add EIGENDA_PROXY prefix to memstore flags
needed for consistency with all other flags

* fix: add EIGENDA_PROXY prefix in the .env example files

* fix: wrap crit entrypoint error for easier debugging (#122)

* fix: negative confDepth bug in verifier (#131)

* fix: negative confDepth bug in verifier

* fix: lint

* fix: request record label with commitment mode and version (#109)

* fix: request record label with commitment mode and version

* fix: lint

* refactor: combine request metrics and write bad requests

* feat: added docker compose services and provisioning

* fix: commitment version type

* refactor: commitment mode and version meta struct

* chore: passing gosec with nosec directives

* ci: add tests on expected commitment mode and cert version

* fix: comments and labels

* chore: bunch of small refactors for improved devex (#124)

* fix: Dockerfile syntax warning (as -> AS)

* fix: injected ldflags

* chore: tag make build-docker image with :dev

* chore: better error logging

* fix: lint

* refactor: single var block declaration

* fix: server_tests

* Fix s3 panic from keccak commitment put requests (#129)

* refactor: e2e server_test to separate testsuite config creation from testsuite creation
this will give flexibility to change the exact config being used to start the testsuite server

* test: add e2e test for keccak commitment to expect error from s3 backend not set

* fix: panic on nil ptr dereference when s3 backend not set

* fix: lint

* fix: e2e tests

* dep: update eigenda to latest version for latest eigenda-client logging behavior (#132)

* Fix metric middleware panic (#133)

* test: add server_test middleware test

* fix: revert to old put/get handler behavior, and fix tests

* fix: metric panic

* fix: lint

* fix: HandlePut uses hardcoded default version (#135)

* chore: remove unused tls logic (#139)

* Eigenda client subsystem logger (#136)

* format: middleware function signatures for better readability

* chore: wrap an error for easier debugging

* chore: give eigenda-client its own logger with subsystem label

* initial set of edge cases (#110)

* initial set of edge cases

* commenting out test checking for nil

* fixing for ci lint

* ci fix

* removing unwanted assert

* more fixes to tests

* removing commented code

* separating tests for integration only

* changing test name and adding OP issue link

* Update e2e/server_test.go

Co-authored-by: Samuel Laferriere <[email protected]>

* changed test name and fn name

* test config changes

* making the linter happy

* adding comments

---------

Co-authored-by: anupsv <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>

* fix: custom error wrapped around error and commitment meta (#134)

* fix: custom error wrapped around error and commitment meta

* refactor: minor improvement for custom errors

* fix: lint

* refactor: clean up useless handlerError

* fix: Return 400 when blobs exceed max limit (#140)

* Fix config checker logic (#138)

* remove -v from make test

* refactor: config checker
one rule was broken due to new semantics of confDepth flag, which can't be negative anymore

* fix: config tests

* fix: lint

* feat: add new eigenda-cert-verification-enabled flag

* fix: config tests

* docs: update readme with new cert-verification-enabled flag info

* show response commitment (#144)

Co-authored-by: Ubuntu <[email protected]>

* rename commitment mode (#151)

* rename

* restore go.mod and go.sum

---------

Co-authored-by: Ubuntu <[email protected]>

* ci: give holesky-test workflow access to secrets via pull_request_target (#153)

* Update Optimism dependency to OP-Stack 1.9.2 (#150)

Updates:
* optimism v1.9.0 -> v1.9.2
* op-geth to the commit 110c433a2469 which is used by optimism v1.9.2
* removed unnecessary version replacements
    * go-kzg-4844 now uses v1.0.0
    * pebble now uses v1.1.2

Necessary code changes:
* opio is now ctxinterrupt
* plasma is now alt-da

* refactor: clean up flags and configs (#146)

* refactor: move flags from config.go -> flags.go

* refactor: move flags+config to new cli package

* refactor: stores into subdirs (precomputed_key and generated_key)

* fix: memstore test

* refactor: move config back to server package + rename cli->flags

* refactor: move redis flags+config into redis package cli.go

* refactor: move s3 flags to their own package cli.go

* refactor: move eigenda_client flags to their own (temporary) package

* refactor: move verifier flags/config into its own package cli.go

* fix: lint
Also added WaitForFinalization eigenda flag

* refactor: move memstore flags to their own package cli.go

* fix: e2e holesky-test

* fix: e2e tests

* fix: e2e tests (attempt 2)

* refactor: rename KeyGeneratedStore -> GeneratedKeyStore

* style(flags): remove unneeded explicit "" values

* style: add category to all s3 flags (forgot in previous commit)

* style: lint

* feat: update eigenda latest release v0.8.4 (#158)

* fix: verifier srs flags paths (#159)

* fix: verifier srs flags paths

* style: lint

* fix: import and expose the verifier flags (#161)

* fix: import and expose the verifier flags

* fix: maxBlobLength flag action was not being run

* style: print config on startup

* fix: don't allow to configure fallback or cache with nil Redis|S3 ins… (#155)

fix: don't allow to configure fallback or cache with nil Redis|S3 instances

* Added --s3.enable-tls flag (#148)

* Added --s3.enable-tls flag

* Update S3 env vars

* chore: Don't return commitment for OP Keccak256 mode on PUT requests (#147)

* chore: Only return commitment on PUT for OP Generic and Simple commitment modes

* chore: Only return commitment on PUT for OP Generic and Simple commitment modes - update tests

* chore: Only return commitment on PUT for OP Generic and Simple commitment modes

* chore: Only return commitment on PUT for OP Generic and Simple commitment modes- rm error file

* chore: add deprecated flags to force early crash when used (#165)

* chore: add deprecated flags to force early crash when used

* flags: update memstore flags category description

* flags: add verifier deprecated flags + fix some other small things

* flags: add deprecation warnings to old memstore flag env-vars

* lint: fix lint warning

* flags: remove wait_for_finalization from deprecated flags

didn't exist before, so shouldnt be deprecated - its a new flag

* flags: cleaner deprecated warning (env var appears without surrounding [])

* flags: change withEnvPrefix to return single string for better deprecated error msgs

* fix: lint caught bug

* opsec: prevent private key from being logged

* update readme and template (#170)

Co-authored-by: Ubuntu <[email protected]>

* hide eth rpc, format hidden string (#171)

Co-authored-by: Ubuntu <[email protected]>

* docs: better usage docs for signer-private-key flag (#174)

* Disable chunk encoding for `put` requests to Google Cloud Storage (#167)

* Set DisableContentSha256=true for Put() requests to Google

* Move putObjectOptions to s3 Store struct

* fix env variable in docker compose (#180)

Co-authored-by: Ubuntu <[email protected]>

* Allow Google storage endpoints without http/s (#179)

Fix Google URL check

* fix: change put route put/ -> put (#168)

* fix: change put route put/ -> put

* chore: update dependencies optimism1.9.2->1.9.3 and go1.21->1.22

* fix: readd the op-geth replace directive

* style: lint

* fix: change client to use new put route instead of put/

* dependency: update op to commit that has put route fix

* fix(routes): still need /put/ route

* fix(ci): update go1.21->1.22 everywhere (#183)

We updated go.mod to use go1.22 recently, but forgot to update the ci workflows.

* Improve local test setup (#177)

* tests: add vscode settings to run tests from vscode

* tests: run minio and redis as testcontainers instead of starting from makefile

* style: fix lint

* test: pin minio version to RELEASE.2024-10-02T17-50-41Z

* docs(main_test.go): more accurate comment

* docs: add docstring above startRedisContainer function

* style: startMinio -> startMinIO

* docs: add comment with TODO for refactoring global init() starting test containers

* refactor: cleaner routing using gorilla mux regexps (#185)

* refactor: GET routes to use gorilla mux regexp patterns

* refactor: server into files routing/handlers/middleware

* style: fix lint

* refactor: use gorilla mux for POST routes

* routing: fix incorrect error msgs for simple commitments

* cleanup: old unused function

* tests: fix e2e tests

* docs: add docstrings to handlers

* style: use vars for the gorilla mux routing variables instead of hardcoded strings

* logging: better logging msgs in op handlers

* metrics: use "unknown" instead of "noCommitment" in metrics middleware when missing meta info

* logging(handlers): simplify by moving "processing request" logs to shared handlers only

* fix: fetch quorum parameters from edasm at RBN instead of latest block (#190)

* fix: fetch quorum parameters from edasm at RBN instead of latest block

* docs: fix getQuorumAdversaryThreshold comment

* feat: Optional async decoupling for secondary writes and reworked E2E metric assertions (#182)

* chore: Better abstract secondary storage

* chore: Better abstract secondary storage - add channel stream for secondary insertions

* chore: Better abstract secondary storage - add channel stream for secondary insertions

* chore: Better abstract secondary storage - observe secondary storage via metrics

* chore: Better abstract secondary storage - observe secondary storage via metrics - cleanups

* chore: Better abstract secondary storage - observe secondary storage via metrics - refactors and lints

* chore: Better abstract secondary storage - observe secondary storage via metrics - refactors and lints

* chore: Better abstract secondary storage - observe secondary storage via metrics - refactors and lints

* chore: Better abstract secondary storage - observe secondary storage via metrics - ensure thread safety for secondary stores

* chore: Better abstract secondary storage - observe secondary storage via metrics - use in memory metrics

* chore: Better abstract secondary storage - observe secondary storage via metrics - add concurrency flag

* chore: Better abstract secondary storage - observe secondary storage via metrics - fmt

* chore: Better abstract secondary storage - address PR feedback, add benchmarks, code comments

* chore: Better abstract secondary storage - refactor tests

* chore: Better abstract secondary storage - more test clean ups

* Merge branch 'main' of github.com:Layr-Labs/op-plasma-eigenda into epociask--chore-reabstract-router

* chore: Better abstract secondary storage - update go mock ref

* chore: Better abstract secondary storage - address PR feedback

* refactor: use batch confirmation that was upstreamed to eigenda client (#192)

* refactor: verifier confirmation logic to use upstreamed blob confirmation depth guarantee

flags: add new eigenda-client flags for blob confirmation depth

also pass those flags to verifier (until we also upstream verification to the eda client)

comment: was pointing to wrong eigenda-client repo in TODO comment

fix: go.mod to point to PR commit instead of using local replace directive

chore: go mod tidy to generate go.sum

chore: use proto Getter functions instead of fields (that are potentially nil)

ci: upgrade golangci-lint version 1.60->1.61

fix: verifySecurityParams func arguments after rebase

chore: make more robust verifyBatchConfirmedOnchain logic

Added retry logic and better comments

style: Onchain -> OnChain

docs: better comment describing eth_getBlockByNumber call args

style: better error msg when memstore enabled but cert verification is not

fix: verifier.WaitForFinalization was not set

fix(flags): deleted deprecated flags that had same name as new ones in other package, causing panic

style(flags): merged WaitForFinalizationFlagName into ConfirmationDepth flag

It now accepts uint conf depth or 'finalized' string now

chore: remove unused utils.EqualBytes function (same as stdlib exp function anyways)

chore: remove log line added for debugging

* fix: missing contexts in a few places (after rebase)

* fix: lint issues

* deps: update eigenda to commit 5fe3e910a22d after merging upstream PR

* docs(verifier): expand explanation for reorg edge case

* docs(verifier): make more precise explanation for why we need to retry checking batch confirmation depth

* style: fix lint

* fix(e2e tests): missing new eigenda-client required config fields (#196)

* fix(e2e tests): missing new eigenda-client required config fields - ethrpc and svcmanageraddr

* Revert "ci: give holesky-test workflow access to secrets via pull_request_target (#153)"

This reverts commit 15b10fd0feaa324ae49c143cb642d1b3e39ffc26.
The commit was doing things very wrong. I hadn't understood how pull_request_target works.
Was causing the workflow to run against main branch head commit instead of PR commit.
We will need to find another solution to the problem of letting external contributors run this workflow.

* ide: update vscode settings.json with env vars to run holesky testnet e2e tests

* docs: shorten svcManagerAddr holesky testnet comment

* tests: add panic when both INTEGRATION and TESTNET env vars are set

This forces test runner to be fully aware of which test suite he is running (otherwise it implicitly runs the TESTNET suite)

* style: make handleGetShared returned error print hex encoded commitment

Previously it was printing as byte array, which is unreadable and clutters logs

* docs: better comments in metrics middleware

* deps: upgrade eigenda dep to regression fix commit

TODO: will need to update this after that PR is merged

* deps: update eigenda dependency to master head

Just merged https://github.com/Layr-Labs/eigenda/pull/849 which will fix our ci bug

* fix(#191): Routing namespace --> Storage (#195)

* feat(failover): return 503 to batcher when eigenda is down (#193)

* feat(failover): return 503 to batcher when eigenda is down

chore: go mod tidy to generate go.mod

feat: dealing with new eigenda-client grpc errors + ErrorFailover convention

comment: fix typo

feat(handlers): postShared returns 429 when disperser rate limited client

flag(eigenda): rename RetriesBeforeFailover -> PutRetries

reviewer correctly pointed out that retrying was more general than only for failovers

lint: nolint exhaustive switch check for Put case

* flag(eigenda-client): add cli flag for new config ConfirmationTimeout

* tests(handlers): rename servers_test.go -> handlers_test.go + some small refactors

* tests(handlers): add PUT failure tests for all modes

* test(handlers): remove unneeded expectedError in TestHandlerPut

* dep: update eigenda to master head (contains ErrorFailover fix)

* tests(handlers): add tests for error types (including failover)

* fix: errors after rebase

* flags: clearer usage string for eigenda-client ResponseTimeoutFlag

* style: define is503 function to follow isABC pattern

* style: make lint

* fix: Hide other sensitive cfg values (#194)

* fix: Hide other sensitive cfg values

* fix: prettyPrintConfig hide values before marshalling

* docs: add comment for why we are hiding password when marshalling

* fix(makefile): run-memstore-server command missing new mandatory flags

* fix: prettyPrintConfig was hiding wrong field. Change RPC->EthRpcUrl

* refactor: way redis/s3 hides config details (use custom marshalling function)

---------

Co-authored-by: Samuel Laferriere <[email protected]>

* refactor: rename client -> SimpleCommitmentClient and add comments (#201)

* refactor: rename client -> SimpleCommitmentClient and add comments

* style: rename client/client.go -> client/simple.go

* fix(middleware): proper handling of handler status codes in log/metrics middlewares (#200)

* fix(middleware): proper handling of handler status codes in log/metrics middlewares

* style: remove trailing whitespace (fix lint)

* fix(middleware) cert version byte handling

* style: make format

* chore(simple_client): Add explicit ServiceUnavailable error type (#207)

* chore(simple_client): Add explicit ServiceUnavailable error type

* chore(simple_client): Add explicit ServiceUnavailable error type - bring back constructor

* chore(simple_client): Add explicit ServiceUnavailable error type - fix lint

* chore: update op dependency to v1.9.5 (#203)

* chore: update op dependency to v1.10.0

* chore: downgrade to v1.9.5 + fix optimism tests

* docs: update README with failover info (#204)

* docs: update README with failover info

* docs(README): add link to arb failover spec

* docs(README): add "Service Unavailable" description for 503 status code

* fix: Disable `SERVICE_MANAGER_ADDR` & `ETH_RPC` as mandatory (#205)

* fix: Disable svc manager address & eth rpc as mandatory

* fix: Disable svc manager address & eth rpc as mandatory - add eigenda client override when memstore enabled

* chore(simple_client): Add explicit ServiceUnavailable error type - address PR comment and add unit test

* chore(simple_client): Add explicit ServiceUnavailable error type - address PR comment

* chore: Add mockable http client to simple client (#209)

* feat: separate simple client into its own module (#208)

* feat: separate simple client into its own module

This will make it easier to import it into other projects without importing all of the other dependencies of our root go.mod.
We will first merge this PR with a replace directive in the main go.mod, then release v0.1.0 of the new client module, and then
make a new PR to use that version in the main go.mod file.

* chore: SimpleClient -> Standard Client (#210)

---------

Co-authored-by: Ethen <[email protected]>

* fix: copy `client/go.mod` to `builder` in Dockerfile (#211)

fix: copy client/go.mod to builder

* fix(CI): Add docker build and curl check (#214)

* Create dependabot.yml (#216)

* Create dependabot.yml

* Update dependabot.yml

* Update dependabot.yml

* Update .github/dependabot.yml

* Add fuzz tests (#137)

* Fix single node tree verification bug (#219)

* Fix single node tree bug

* Clarify method doc

Signed-off-by: litt3 <[email protected]>

* Add link to on chain method

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* fix: memstore returns data_length in number of symbols instead of bytes (#223)

* make memstore return data_lenght in number of symbols

* fix lint

* lint

* docs: fix readme test docs, and add test comments to makefile (#225)

* docs: fix readme test documentation, and add comments describing tests to makefile

Signed-off-by: litt3 <[email protected]>

* Add missed period

Signed-off-by: litt3 <[email protected]>

* Add additional explanation of e2e tests

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* fix(sigmap-EDAP-04): Add IO parsing size constraint on incoming request bodies (#227)

* fix(sigmap-EDAP-04): Add IO parsing size constraint on incoming request bodies

* fix(sigmap-EDAP-04): Add IO parsing size constraint on incoming request bodies - address PR feedback

* fix(sigmap-EDAP-04): Miscellaneous General Comments (#228)

* fix(sigmap-EDAP-04): Miscellaneous General Comments

* fix(sigmap-EDAP-04): Miscellaneous General Comments - address PR feedback

* fix(sigmap-EDAP-01): Missing nil Checks On Parameters Of Incoming Requests (#231)

* fix(sigmap-EDAP-01): Missing nil Checks On Parameters Of Incoming Requests

* fix(sigmap-EDAP-01): Missing nil Checks On Parameters Of Incoming Requests - check all nil fields and use proto accessors for referencing cert fields

* fix(sigmap-EDAP-06): Missing IsOnCurve & IsInSubgroup Checks For Elli… (#229)

* fix(sigmap-EDAP-06): Missing IsOnCurve & IsInSubgroup Checks For Elliptic Curve Point

* fix(sigmap-EDAP-06): Missing IsOnCurve & IsInSubgroup Checks For Elliptic Curve Point - remove unnecessary function

* fix(sigmap-EDAP-06): Missing IsOnCurve & IsInSubgroup Checks For Elliptic Curve Point - address PR feedback

* fix(sigmap-EDAP-06): Missing IsOnCurve & IsInSubgroup Checks For Elliptic Curve Point - address PR feedback

* chore: Add security audit (#234)

* fix: Field element casting to affine representation (#240)

* adding audit report (#244)

* adding audit report

* Create SECURITY.md

* removing from root

* fixing repo name

---------

Co-authored-by: anupsv <[email protected]>

* docs: update readme shields to point to actual workflows (#248)

* fix(#251): better error logging for RPC lookup errors against service manager (#254)

* chore: modify verifier to not require eth archive node (#241)

* chore: force verifier's EthConfirmationDepth to be <64

We panic in the flag's action, as well as in the verifier's constructor when this condition is not respected.

This will make sure that an archival node is not required.

* chore: modify verifier to load quorum parameters only once at initialization

This removes the need for running with an eth archive node.

* style: fix minor lint issue

* docs: update README to mention that archival node is no longer needed

* docs: clean-up README archival node requirement explanation

* docs: fix verify/cert.go comment typo

Co-authored-by: Ethen <[email protected]>

* docs: for eg -> e.g.

* style(cert): remove unecessary bound checks from inside loop

* style: create consts package with EthHappyPathFinalizationDepthBlocks = 64

* style: change panic into error return

* docs: change op reference for eth reference

* docs: make flag comment simpler

* Update verify/cert.go

Co-authored-by: EthenNotEthan <[email protected]>

---------

Co-authored-by: Ethen <[email protected]>

* docs: pimp out readme with blob lifecycle diagrams (#233)

* chore: move pull_request_template.md under .github/ dir

* docs: reorder README sections to feel more natural (move flags to bottom)

* docs (wip): add blob lifecycle diagrams to README

* docs: remove Sidecar from README title (proxy is not necessarily a side)

* docs: add blob lifecycle section to README

* docs: add TOC to README

* style(routing): rename raw_commitment -> payload

We changed the name in README so should be consistent in the code

* docs: update README sections to use Payload instead of Blob

Posting Blobs -> Posting Payloads
Retrieving Blobs -> Retrieving Payloads

* docs: remove "obviously" word

* Required quorums glitch (#255)

* Avoid quorum 1 check on range of Holesky blocks

* Improve SVC address check

* Update verify/verifier.go

Co-authored-by: Samuel Laferriere <[email protected]>

* Update verify/verifier.go

Co-authored-by: Samuel Laferriere <[email protected]>

* Avoid unnecessary cast

* Rename constant

* Fix lint

---------

Co-authored-by: Samuel Laferriere <[email protected]>

* docs: update README posting payload image (#256)

* fix: remove last eth_call that required archive node (#259)

Forgot this one in https://github.com/Layr-Labs/eigenda-proxy/pull/241

* docs: update SECURITY.md with audit commit + fix small typos (#263)

* docs: update SECURITY.md

* docs: update SECURITY.md with audited release number + release where findings were addressed

* chore: Update compose with secondary store setup && minor refactors (#270)

* chore: Update compose with secondary store setup && minor refactors

* chore: Minor code comment

* chore: Update logging to use `layr-labs/eigensdk-go` (#264)

* chore: Update logging to use eigengo-sdk

* chore: Update logging to use eigengo-sdk - fmt

* chore: Update logging to use eigengo-sdk - incorporate latest eigenda changes, deprecate flags, and update docs / code comments

* chore: Update logging to use eigengo-sdk - fix test

* chore: Update logging to use eigengo-sdk - svc_binding -> edsm_binding

* chore: Update logging to use eigengo-sdk - move logging to own packag e and copy entire dependency package vs hyrbid

* chore: Update logging to use eigengo-sdk - rm todo in metrics && fix lint errs

* chore: Update logging to use eigengo-sdk - refactor flag construction patterns across subpackages to adhere to uniform abstraction

* chore: Update logging to use eigengo-sdk - refactor flag construction patterns across subpackages to adhere to uniform abstraction

* chore: Update logging to use eigengo-sdk - update metric

* chore: Update logging to use eigengo-sdk - go gfmt

* chore: Update logging to use eigengo-sdk - apppease white space linting

* chore: Update logging to use eigengo-sdk - white space lint

* chore: Update logging to use eigengo-sdk - white space lint

* docs: add srs requirements section to readme (#276)

* docs: add srs requirements section to readme

* docs: fix readme typo

* feat: public s3 config option (#277)

* Create codeql-scanning.yml (#279)

* Create codeql-scanning.yml

* adding versions

* chore: fix miscellaneous typos in comments (#287)

* ci: add test to make sure env vars in .env.example.holesky are valid (#286)

* ci: add test to make sure env vars in .env.example.holesky are valid

* ci: add a ping to proxy's health endpoint in test-proxy-startup-with-env-vars script

* chore: bump default confirmation-depth 0->8 blocks (#285)

* chore: change default confirmation-depth to 5 blocks (from 0 blocks)

This is a very important change. Reorgs of 1 block are quite common and can cause a da cert to be submitted to the rollup inbox with a wrong confirmationBlock! It's important to wait a few blocks for the confirmBatch to have landed onchain before submitting the dacert to the batcher inbox.

* docs: add troubleshooting guide with first section on the batch-hash-mismatch error

* chore: bump default confirmationDepth 5->8

* feat: add memstore config to return failover errors on puts (#289)

* chore: add comments to release-drafter.yml files to explain what they are

* chore: add memstore config to return failover errors on puts

This is useful for testing failover in batcher.

Right now a new proxy would need to be spun up with this config turned on. We should consider adding an admin rpc rpi to turn these on/off dynamically.

* chore: remove unecessary "(FOR TESTING") prefix in some memstore flags

* ci: cleanup into a single per-pr.yml gha

* Revert "ci: cleanup into a single per-pr.yml gha"

This reverts commit adfdfb80b3dcec0c55e7e13ffc27f758fa0a5385.

* ci: add trailofbits/go-queries to codeql-scanning.yml (#288)

* Update codeql-scanning.yml

* Update codeql-scanning.yml

* feat: add http routes and handlers to get/patch the memstore config (#293)

* feat: add http routes and handlers to get/patch the memstore config

* test(memstore_handlers): fix GET tests

* style: make format

* style(memconfig): remove unneeded tags from struct in MarshalJSON

* chore: add marshalJSON function to memstore safeconfig (it wasnt getting logged on startup)

* style(verifier): better startup logs

* chore: fix golangci.yml errors/warnings

Not sure why the ci error started appearing just now...

* chore(makefile): clean up irrelevant run-memstore-server flags

* test: fix fuzz test (CreateTestSuite was not registering the route after the refactor)

* Update store/generated_key/memstore/README.md

Co-authored-by: ethenotethan <[email protected]>

* docs(memstore): add command to print memstore flags

---------

Co-authored-by: ethenotethan <[email protected]>

* ci: cleanup into a single per-pr.yml gha (#295)

* ci: cleanup into a single per-pr.yml gha

* chore: fix golangci.yml issues

* ci: rename gchr -> push-ghcr.yml

* ci: rename per-pr workflow to CI (readme badge looks better)

* docs: update README with new ci badges

* feat: Memconfig client (#301)

* feat: Memconfig client

* feat: Memconfig client - demarcate clients into seperate packages && rename module to

* feat: Memconfig client - update Dockerfile to use new clients package instead of /client

* feat: Memconfig client - update docs

* feat: Memconfig client - update Dockerfile

* feat: Memconfig client - update Dockerfile

* feat: Memconfig client - rm client dependency from go.mod

* feat: Memconfig client - update Dockerfile/dockerignore

* feat: Memconfig client - add usability comment

* chore(memstore): hash entire cert + remove cert verification (#308)

* chore(memstore): use hash of cert for key

* chore(memstore): use hash of cert for key

* chore(memstore): Compute batch header hash before persisting (#311)

* chore(memstore): Compute batch header hash before persisting

* chore(memstore): Compute batch header hash before persisting - lint

* chore(memstore): Compute batch header hash before persisting - use encoded value

* chore: fix readme with correct cast cmd (#314)

Co-authored-by: Samuel Laferriere <[email protected]>

* fix: E2E holesky tests (#299)

* fix: E2E holesky tests

* fix: E2E holesky tests - lint && update oversize checks

* fix: E2E holesky tests - reduce holesky times

---------

Co-authored-by: Samuel Laferriere <[email protected]>

* test: fix failing e2e-local safety check (#323)

e2e tests were turned off by mistake for a while. https://github.com/Layr-Labs/eigenda-proxy/pull/299 just turned them back on. Not sure why the test was only caught by CI after merging. But this commit fixes the failing test.

* ci: separate holesky-test into its own job (#325)

* ci: separate holesky-test into its own test

Also lower its timeout to 30mins
Holesky is broken so this test is flaky. Makes sense to sepraate it into its own job so that we can rerun only this test when it fails.

* ci: remove 30 min timeout on workflow in favor of that in makefile

wasnt seeing logs because ci job was getting cancelled before test failed, and didn't have -v flag enabled.
So enabled the flag and removed the timeout from ci in case

* feat!: add eigenda v2 support (#321)

* feat: Initial V2 scaffolds

* feat: Initial V2 scaffolds - add boilerplate dependency injection and feature flag

* feat: Initial V2 scaffolds - go fmt

* feat: Initial V2 scaffolds - wire up disperser and retriever clients

* feat: EigenDAV2 commitment processing and generation (#265)

* fix(#251): better error logging for RPC lookup errors against service manager (#254)

* chore: modify verifier to not require eth archive node (#241)

* chore: force verifier's EthConfirmationDepth to be <64

We panic in the flag's action, as well as in the verifier's constructor when this condition is not respected.

This will make sure that an archival node is not required.

* chore: modify verifier to load quorum parameters only once at initialization

This removes the need for running with an eth archive node.

* style: fix minor lint issue

* docs: update README to mention that archival node is no longer needed

* docs: clean-up README archival node requirement explanation

* docs: fix verify/cert.go comment typo

Co-authored-by: Ethen <[email protected]>

* docs: for eg -> e.g.

* style(cert): remove unecessary bound checks from inside loop

* style: create consts package with EthHappyPathFinalizationDepthBlocks = 64

* style: change panic into error return

* docs: change op reference for eth reference

* docs: make flag comment simpler

* Update verify/cert.go

Co-authored-by: EthenNotEthan <[email protected]>

---------

Co-authored-by: Ethen <[email protected]>

* docs: pimp out readme with blob lifecycle diagrams (#233)

* chore: move pull_request_template.md under .github/ dir

* docs: reorder README sections to feel more natural (move flags to bottom)

* docs (wip): add blob lifecycle diagrams to README

* docs: remove Sidecar from README title (proxy is not necessarily a side)

* docs: add blob lifecycle section to README

* docs: add TOC to README

* style(routing): rename raw_commitment -> payload

We changed the name in README so should be consistent in the code

* docs: update README sections to use Payload instead of Blob

Posting Blobs -> Posting Payloads
Retrieving Blobs -> Retrieving Payloads

* docs: remove "obviously" word

* Required quorums glitch (#255)

* Avoid quorum 1 check on range of Holesky blocks

* Improve SVC address check

* Update verify/verifier.go

Co-authored-by: Samuel Laferriere <[email protected]>

* Update verify/verifier.go

Co-authored-by: Samuel Laferriere <[email protected]>

* Avoid unnecessary cast

* Rename constant

* Fix lint

---------

Co-authored-by: Samuel Laferriere <[email protected]>

* docs: update README posting payload image (#256)

* fix: remove last eth_call that required archive node (#259)

Forgot this one in https://github.com/Layr-Labs/eigenda-proxy/pull/241

* docs: update SECURITY.md with audit commit + fix small typos (#263)

* docs: update SECURITY.md

* docs: update SECURITY.md with audited release number + release where findings were addressed

* feat: EigenDAV2 commitment processing and generation

* feat: EigenDAV2 commitment processing and generation - add note describing follow up todo

---------

Co-authored-by: Samuel Laferriere <[email protected]>
Co-authored-by: Gaston Ponti <[email protected]>

* feat: Initial V2 scaffolds - dependency injection working, current bug with G2 point ingestion

* feat: Initial V2 scaffolds - E2E proof of concept sort've

* feat: Initial V2 scaffolds - bump EigenDA

* feat: Initial V2 scaffolds - update dependency injection

* feat: Initial V2 scaffolds - hardcode quorums

* feat: Initial V2 scaffolds - working mvp

* feat: Initial V2 scaffolds - working lint and tests

* feat: Initial V2 scaffolds - add todo around G2 ingestion

* feat: Initial V2 scaffolds - change all usage of directory path to just path

* feat: Initial V2 scaffolds - refactor manager

* feat: Initial V2 scaffolds - refactor commitments

* chore(V2): Refactor dependency injection && config mgmt (#296)

* chore(V2): Refactor dependency injection && config mgmt

* chore(V2): Refactor dependency injection && config mgmt - address config.go feedback

* chore(V2): Refactor dependency injection && config mgmt - update polynomial form flag

* chore(V2): Refactor dependency injection && config mgmt - loader --> builder

* feat: Initial V2 scaffolds - add verification && more verbose logging

* feat: Initial V2 scaffolds - update e2e setup to use memconfig

* chore(V2): update config checks and fix custom quorum injection (#298)

* feat: Initial V2 scaffolds - update e2e setup to use memconfig

* chore(V2): update config checks and fix custom quorum injection

* chore(V2): update config checks and fix custom quorum injection - update flag descriptions && add  flag

* chore(V2): update config checks and fix custom quorum injectiom - address PR feedback

* chore(V2): update config checks and fix custom quorum injectiom - update tls flag description

* chore(V2): update config checks and fix custom quorum injectiom - pc --> proxyCfg

* chore(V2): update config checks and fix custom quorum injectiom - private builder fields and comment

* feat(v2): memstore (#305)

* feat(V2): memstore

* feat(V2): memstore - code comments, fix v2 wiring bugs, update monorepo dep

* feat(V2): memstore - E2E tests

* feat(V2): memstore - minor updates

* feat(V2): memstore - address PR feedback

* feat(V2): memstore - add CLI comment

* feat(V2): memstore -address pr comments

* feat: Initial V2 scaffolds - lint fixes and minor refactors

* Update EigenDA version, and fix linter issues (#315)

Signed-off-by: litt3 <[email protected]>

* V2: fix e2e tests (#316)

fix(E2E): Update oversized cert test to assert lookup error instead

* Rework v2 initialization (#317)

* Rework v2 initialization

Signed-off-by: litt3 <[email protected]>

* Use snake case for imports

Signed-off-by: litt3 <[email protected]>

* Adopt latest eigenDA changes

Signed-off-by: litt3 <[email protected]>

* Fix error messages

Signed-off-by: litt3 <[email protected]>

* Tweak import

Signed-off-by: litt3 <[email protected]>

* Check signer account balance

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* Rename EigenDACommit to EigenDACommitmentType

Signed-off-by: litt3 <[email protected]>

* Strive for naming consistency

Signed-off-by: litt3 <[email protected]>

* Do general cleanup

Signed-off-by: litt3 <[email protected]>

* Fix bug found by copilot

Signed-off-by: litt3 <[email protected]>

* Further separate out secrets

Signed-off-by: litt3 <[email protected]>

* Reduce diff size

Signed-off-by: litt3 <[email protected]>

* Return error instead of panicking

Signed-off-by: litt3 <[email protected]>

* Fix log

Signed-off-by: litt3 <[email protected]>

* Only read v2 config if enabled

Signed-off-by: litt3 <[email protected]>

* Put back check for redis password

Signed-off-by: litt3 <[email protected]>

* Make configs not use pointers

Signed-off-by: litt3 <[email protected]>

* Remove reference to arbitrum

Signed-off-by: litt3 <[email protected]>

* Clean up Builder

Signed-off-by: litt3 <[email protected]>

* Do more cleanup on StorageManagerBuilder

Signed-off-by: litt3 <[email protected]>

* Move CertVerifierAddress into config struct

Signed-off-by: litt3 <[email protected]>

* Return struct instead of interface

Signed-off-by: litt3 <[email protected]>

* Convert len to symbols

Signed-off-by: litt3 <[email protected]>

* Add TODO

Signed-off-by: litt3 <[email protected]>

* Describe future improvements

Signed-off-by: litt3 <[email protected]>

* Add additional config check

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>
Co-authored-by: Ethen Pociask <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
Co-authored-by: Gaston Ponti <[email protected]>

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

* chore: create structured error for batch-hash-mismatch error

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.

* docs(troubleshooting_v1.md): expand on batch-hash-mismatch error documentation

Explain that this is only possible on op-stack.

* docs(troubleshooting_v1): add explanation that batch-hash-mismatch also affects nitro l3s

* docs(batch-hash-mismatch): remove TODO since this error is not solvable

Added explanation for why not.

* docs(batch-hash-mismatch): update old incorrect documentation for BatchMetadataHashMismatchError

Not actually possible to handle this error. Update the explanation, and point to new protobuf docs

* docs: fix typo

* fix: move errors.go to verify/v1 (it was left alone and breaking build after merge master)

* docs: add readme link to v2 integration spec (#329)

* chore: add linter to enforce max line lengths of 100 (#331)

* chore: add golines to format line lengths to 100

This is enforced by the lll linter that we add to the golangci-lint config

* chore: change golines formatter to use 120 max line len

* style: make format

* chore(golangci): allow certain patterns to have long lines in linter config

* chore: break up all long lines or add `//nolint: lll` directive

* docs: cleanup readme by separating users from contributors (#330)

* docs: cleanup readme by separating users from contributors

first time contributors were lost and didn't understand how to setup proxy and interact with it.

Added a user guide to the readme which gives a quick start example of spinning up proxy in memstore mode, dispersing and retrieving a payload.

Also refactored a bunch of the sections and TOC to make the whole readme easier to parse.

* docs(README): rephrase GET route documentation

* docs(README): break up long lines

* docs: add godoc testable examples for the standard client (#336)

Also added some godocs for eigenda-proxy itself and some other packages.

* chore: Update to latest core version, to include cert verifier address provider (#333)

Update to latest core version

Signed-off-by: litt3 <[email protected]>

* fix: Enforce V1 cert field sizes (#338)

* Do integration test cleanup (#337)

* Do some test cleanup

Signed-off-by: litt3 <[email protected]>

* Tweak more configurations

Signed-off-by: litt3 <[email protected]>

* Tweak log levels

Signed-off-by: litt3 <[email protected]>

* Add makefile doc

Signed-off-by: litt3 <[email protected]>

* Use better flag name

Signed-off-by: litt3 <[email protected]>

* Fix test type

Signed-off-by: litt3 <[email protected]>

* Add test matrix

Signed-off-by: litt3 <[email protected]>

* Tweak per pr yaml

Signed-off-by: litt3 <[email protected]>

* Remove irrelevant vars from settings.json

Signed-off-by: litt3 <[email protected]>

* Fix fuzz description

Signed-off-by: litt3 <[email protected]>

* Remove coverage from CI

Signed-off-by: litt3 <[email protected]>

* Fix test timeout

Signed-off-by: litt3 <[email protected]>

* Don't bother excluding fuzz tests from unit tests

Signed-off-by: litt3 <[email protected]>

* Decrease boilerplate

Signed-off-by: litt3 <[email protected]>

* Rename Environment to Backend

Signed-off-by: litt3 <[email protected]>

* Remove test matrix util

Signed-off-by: litt3 <[email protected]>

* Split benchmark test

Signed-off-by: litt3 <[email protected]>

* Try alternate test config strategy

Signed-off-by: litt3 <[email protected]>

* Fix failing tests

Signed-off-by: litt3 <[email protected]>

* test(fuzz): fix fuzz tests (#339)

Cleaned up the fuzz tests to actually do something
Reduced seed corpus to 3 meaningful inputs
Removed cluttering log outputs so we can actually see the fuzzer output as its finding new interesting cases

* Modify comment

Signed-off-by: litt3 <[email protected]>

* Use constant

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>

* fix: Standard output check (#346)

* fix: Standard output check

* fix: Standard output check - make

* fix: Standard output check - ignore version

* fix: Standard output check - update sed cmd for ubuntu compatibility

* fix: Standard output check - update sed cmd for ubuntu compatibility

* Config only (#344)

* Do some test cleanup

Signed-off-by: litt3 <[email protected]>

* Tweak more configurations

Signed-off-by: litt3 <[email protected]>

* Tweak log levels

Signed-off-by: litt3 <[email protected]>

* Add makefile doc

Signed-off-by: litt3 <[email protected]>

* Use better flag name

Signed-off-by: litt3 <[email protected]>

* Fix test type

Signed-off-by: litt3 <[email protected]>

* Add test matrix

Signed-off-by: litt3 <[email protected]>

* Tweak per pr yaml

Signed-off-by: litt3 <[email protected]>

* Remove irrelevant vars from settings.json

Signed-off-by: litt3 <[email protected]>

* Fix fuzz description

Signed-off-by: litt3 <[email protected]>

* Remove coverage from CI

Signed-off-by: litt3 <[email protected]>

* Fix test timeout

Signed-off-by: litt3 <[email protected]>

* Don't bother excluding fuzz tests from unit tests

Signed-off-by: litt3 <[email protected]>

* Decrease boilerplate

Signed-off-by: litt3 <[email protected]>

* Rename Environment to Backend

Signed-off-by: litt3 <[email protected]>

* Remove test matrix util

Signed-off-by: litt3 <[email protected]>

* Split benchmark test

Signed-off-by: litt3 <[email protected]>

* Try alternate test config strategy

Signed-off-by: litt3 <[email protected]>

* Fix failing tests

Signed-off-by: litt3 <[email protected]>

* test(fuzz): fix fuzz tests (#339)

Cleaned up the fuzz tests to actually do something
Reduced seed corpus to 3 meaningful inputs
Removed cluttering log outputs so we can actually see the fuzzer output as its finding new interesting cases

* Draft config cleanup

Signed-off-by: litt3 <[email protected]>

* Clean up

Signed-off-by: litt3 <[email protected]>

* Configure secrets correctly

Signed-off-by: litt3 <[email protected]>

* Iterate

Signed-off-by: litt3 <[email protected]>

* Iterate again

Signed-off-by: litt3 <[email protected]>

* Get relay registry address correctly

Signed-off-by: litt3 <[email protected]>

* Share code pathways between tests and production

Signed-off-by: litt3 <[email protected]>

* Clean up

Signed-off-by: litt3 <[email protected]>

* Fix docker

Signed-off-by: litt3 <[email protected]>

* Redact additional sensitive fields

Signed-off-by: litt3 <[email protected]>

* Disable verification for memstore mode

Signed-off-by: litt3 <[email protected]>

* Further simplify test configuration

Signed-off-by: litt3 <[email protected]>

* Fix test path

Signed-off-by: litt3 <[email protected]>

* Reenable test

Signed-off-by: litt3 <[email protected]>

* Fix more test paths

Signed-off-by: litt3 <[email protected]>

* Fix config tests

Signed-off-by: litt3 <[email protected]>

* Increase holesky e2e timeout

Signed-off-by: litt3 <[email protected]>

* Support preprod tests

Signed-off-by: litt3 <[email protected]>

* Fix yml

Signed-off-by: litt3 <[email protected]>

* Clean up

Signed-off-by: litt3 <[email protected]>

* Properly configure g2

Signed-off-by: litt3 <[email protected]>

* Checkout with lfs

Signed-off-by: litt3 <[email protected]>

* Try to get SRS Order right

Signed-off-by: litt3 <[email protected]>

* Revert SRS changes

Signed-off-by: litt3 <[email protected]>

* Temporarily disable dispersal verification

Signed-off-by: litt3 <[email protected]>

* Try to fix fuzz test

Signed-off-by: litt3 <[email protected]>

* Revert unnecessary changes

Signed-off-by: litt3 <[email protected]>

* Use experimental g2 point loading

Signed-off-by: litt3 <[email protected]>

* Revert change to G1

Signed-off-by: litt3 <[email protected]>

* Remove power of 2 g2 points

Signed-off-by: litt3 <[email protected]>

* Add deprecated flag

Signed-off-by: litt3 <[email protected]>

* Track deprecated flags

Signed-off-by: litt3 <[email protected]>

* Remove unnecessary edge case

Signed-off-by: litt3 <[email protected]>

* Fix broken V2 verify

Signed-off-by: litt3 <[email protected]>

* Reenable client side proving

Signed-off-by: litt3 <[email protected]>

* Declutter make tests

Signed-off-by: litt3 <[email protected]>

* Fix the test filter regex

Signed-off-by: litt3 <[email protected]>

* Update core version

Signed-off-by: litt3 <[email protected]>

* Try again to get the correct make command

Signed-off-by: litt3 <[email protected]>

* Prevent grep from buffering

Signed-off-by: litt3 <[email protected]>

* Use pipefail

Signed-off-by: litt3 <[email protected]>

* Give up on filtering

Signed-off-by: litt3 <[email protected]>

* Fix error message

Signed-off-by: litt3 <[email protected]>

* Add clarifying comment to v2 config struct

Signed-off-by: litt3 <[email protected]>

* Rename to MetricsConfig

Signed-off-by: litt3 <[email protected]>

* Fix terrible misnaming

Signed-off-by: litt3 <[email protected]>

* Simplify steps for overriding test flag configs

Signed-off-by: litt3 <[email protected]>

* Remove unused member var

Signed-off-by: litt3 <[email protected]>

* Fix small typos

Signed-off-by: litt3 <[email protected]>

* Make backend error message better

Signed-off-by: litt3 <[email protected]>

* Improve explanation of kzg behavior

Signed-off-by: litt3 <[email protected]>

* Improve v2 terminology and consistency

Signed-off-by: litt3 <[email protected]>

* Improve config ordering

Signed-off-by: litt3 <[email protected]>

* Revert name change

Signed-off-by: litt3 <[email protected]>

* Improve const names

Signed-off-by: litt3 <[email protected]>

* Change flag deprecation strategy

Signed-off-by: litt3 <[email protected]>

* First pass

Signed-off-by: litt3 <[email protected]>

* Move utility method

Signed-off-by: litt3 <[email protected]>

* Revert formatting changes

Signed-off-by: litt3 <[email protected]>

* Add Enabled to memstore config marshal

Signed-off-by: litt3 <[email protected]>

* Revert benchmark changes

Signed-off-by: litt3 <[email protected]>

* More reversions

Signed-off-by: litt3 <[email protected]>

* Move method in Setup

Signed-off-by: litt3 <[email protected]>

* Revert flags changes

Signed-off-by: litt3 <[email protected]>

* Newline change

Signed-off-by: litt3 <[email protected]>

* Revert formatting changes

Signed-off-by: litt3 <[email protected]>

* Revert secondary source changes

Signed-off-by: litt3 <[email protected]>

* Revert newline

Signed-off-by: litt3 <[email protected]>

* Fix tests

Signed-off-by: litt3 <[email protected]>

* Fix kzg config init

Signed-off-by: litt3 <[email protected]>

* Revert grep addition

Signed-off-by: litt3 <[email protected]>

* Fix test

Signed-off-by: litt3 <[email protected]>

* Remove accidental grep

Signed-off-by: litt3 <[email protected]>

* Try to get flags right again

Signed-off-by: litt3 <[email protected]>

* Split out test suite

Signed-off-by: litt3 <[email protected]>

* Split out verifier and kzg flags

Signed-off-by: litt3 <[email protected]>

* Shuffle around enable flag

Signed-off-by: litt3 <[email protected]>

* Update help_out

Signed-off-by: litt3 <[email protected]>

* Remove version

Signed-off-by: litt3 <[email protected]>

* Add missed config value

Signed-off-by: litt3 <[email protected]>

* Fix lint

Signed-off-by: litt3 <[email protected]>

* Update flag categories

Signed-off-by: litt3 <[email protected]>

* Lengthen e2e local timeout

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>

* chore(clients): retract v1.0.1 (#350)

We published a `clients/v1.0.1` tag by mistake, which got picked up by pkg.go.dev, and now the latest version of the docs (pointed to in our README) leads to https://pkg.go.dev/github.com/Layr-Labs/eigenda-proxy/[email protected]/standard_client.
This directive retracts that version, such that the docs (and go commands) no longer point to this version (at this point v0.2.0 is the latest).
Once we reach semver v1.0.1, we can possibly remove this retract directive (??), or just skip this number and go to v1.0.2.

* docs(readme): document 1account/proxy (#353)

* docs(readme): document 1account/proxy

* docs(readme): clarify single key per rollup statement

* docs(readme): add repo+release info (#352)

* Fix e2e tests (#351)

* Fix tests

Signed-off-by: litt3 <[email protected]>

* Apply fix to fallback

Signed-off-by: litt3 <[email protected]>

* Try increasing timeout

Signed-off-by: litt3 <[email protected]>

* Increase test parallelism

Signed-off-by: litt3 <[email protected]>

* Increase timeout even more, hopefully enough

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* Create migration tests (#348)

* Create migration tests

Signed-off-by: litt3 <[email protected]>

* Fix unit tests

Signed-off-by: litt3 <[email protected]>

* Clean up

Signed-off-by: litt3 <[email protected]>

* Fix naming

Signed-off-by: litt3 <[email protected]>

* More naming fixes

Signed-off-by: litt3 <[email protected]>

* Hopefully final naming fixes

Signed-off-by: litt3 <[email protected]>

* More clean up

Signed-off-by: litt3 <[email protected]>

* Update core commit

Signed-off-by: litt3 <[email protected]>

* Move require out of utility method

Signed-off-by: litt3 <[email protected]>

* Add better comments describing switching dispersal

Signed-off-by: litt3 <[email protected]>

* Move where atomic version is constructed

Signed-off-by: litt3 <[email protected]>

* Modify backend init strategy

Signed-off-by: litt3 <[email protected]>

* Add additional require

Signed-off-by: litt3 <[email protected]>

* Implement new config enum for backends

Signed-off-by: litt3 <[email protected]>

* Fix unit test

Signed-off-by: litt3 <[email protected]>

* Update help_out

Signed-off-by: litt3 <[email protected]>

* Improve test assertions

Signed-off-by: litt3 <[email protected]>

* Add test util

Signed-off-by: litt3 <[email protected]>

* Reorganize v2 enablement flags

Signed-off-by: litt3 <[email protected]>

* Update help_out

Signed-off-by: litt3 <[email protected]>

* Check backends len

Signed-off-by: litt3 <[email protected]>

* Try increasing memstore e2e timeout. Unsure why it's not completing

Signed-off-by: litt3 <[email protected]>

* Revert "Try increasing memstore e2e timeout. Unsure why it's not completing"

This reverts commit 5a72f6ff6bfac18f2e9a61943b5f45affc07089b.

* Make it possible to enable v2 backend with v1 backend

Signed-off-by: litt3 <[email protected]>

* Use variadic param

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* Create env var test (#349)

* Create env var test

Signed-off-by: litt3 <[email protected]>

* Update core commit

Signed-off-by: litt3 <[email protected]>

* Fix script

Signed-off-by: litt3 <[email protected]>

* Try bogus signing key

Signed-off-by: litt3 <[email protected]>

* Increase wait time

Signed-off-by: litt3 <[email protected]>

* Increase wait time even more

Signed-off-by: litt3 <[email protected]>

* Increase wait time to 75

Signed-off-by: litt3 <[email protected]>

* Try matrix strategy

Signed-off-by: litt3 <[email protected]>

* Fix test name

Signed-off-by: litt3 <[email protected]>

* Add check to make sure env path is specified

Signed-off-by: litt3 <[email protected]>

* Create separate env var tests for v1, v2, and both

Signed-off-by: litt3 <[email protected]>

* Update .env file in .envrc

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>

* chore(make): rename build command (#359)

* chore(make): rename build command

Used to be "eigenda-proxy". Renamed for consistency with `docker-build` command. Also most people are used to just typing `make build`, which doesn't require knowing the binary name.

* chore(make): fix gen-static-help-output

was still pointing to prev `eigenda-proxy` target instead of new `build` target

* Improve CI speed and clarity (#358)

* Get preprod CI passing

Signed-off-by: litt3 <[email protected]>

* Speed things up

Signed-off-by: litt3 <[email protected]>

* Use got…
* chore: rename periphery to integrations

* Update contracts/README.md

Co-authored-by: ethenotethan <[email protected]>

* fix: edit README

---------

Co-authored-by: ethenotethan <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
* Draft CLAUDE.md

Signed-off-by: litt3 <[email protected]>

* Decrease LOC that consitute 'large changes'

Signed-off-by: litt3 <[email protected]>

* Add optimizations to list of things to note in docs

Signed-off-by: litt3 <[email protected]>

* Denote contract bindings as autogen files to not be modified

Signed-off-by: litt3 <[email protected]>

* Import linter yaml automatically

Signed-off-by: litt3 <[email protected]>

* Add link to anthropic docs to explain @ annotation

Signed-off-by: litt3 <[email protected]>

* Remove ambiguous word 'touch'

Signed-off-by: litt3 <[email protected]>

* Fix file imports

Signed-off-by: litt3 <[email protected]>

* Remove command import for now

Signed-off-by: litt3 <[email protected]>

* Add go.mod to imports

Signed-off-by: litt3 <[email protected]>

* Simplify wrong working dir pitfall

Signed-off-by: litt3 <[email protected]>

* Remove fuzzy style rules, and add testing section

Signed-off-by: litt3 <[email protected]>

* Specify that humans write docs

Signed-off-by: litt3 <[email protected]>

* Clarify how bindings can be updated

Signed-off-by: litt3 <[email protected]>

* Mention TODO comments

Signed-off-by: litt3 <[email protected]>

* Import available project slash commands

Signed-off-by: litt3 <[email protected]>

* Address the 'yes man'

Signed-off-by: litt3 <[email protected]>

* Augment prime directives

Signed-off-by: litt3 <[email protected]>

* Fix line len

Signed-off-by: litt3 <[email protected]>

* Don't auto parse docs

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>
* feat: add generic AccountLedger interface

    - Create AccountLedger interface for payment state management
    - Add LocalAccountLedger implementation for client-side tracking
    - Refactor Accountant to use unified AccountLedger interface

* refactor(Ac
countLedger): revert Accountant changes, rewrite AccountLedger interface and LocalAccountLedger
impl

* refactor(AccountLedger): rewrite unit tests and comments

* refactor(AccountLedger): rm LocalAccountLedger struct and impl
* Update icicle encoder go version and fix build issue

* Update disperser/cmd/encoder/icicle.Dockerfile

Co-authored-by: Samuel Laferriere <[email protected]>

---------

Co-authored-by: Samuel Laferriere <[email protected]>
* feat: quorum specific metrics for metered bytes

* fix: unit test mock calls
* feat: integrate address directory to eth reader
- Add NewReaderWithAddressDirectory() for address directory-based initialization
- ContractNames constants matching AddressDirectoryConstants.sol
- optional AddressDirectoryFlag, BlsOperatorStateRetrieverFlag, and EigenDAServiceManagerFlag
- validation to require either address directory OR both legacy flags
- backward compatibility for existing deployments without address directory

* feat: fix BLS_OPERATOR_STATE_RETRIEVER typo

* refactor: config valid check, interface binding, getAddress0

* fix: check zero addr, rm unused binding, err msg

* feat: address directory reader

* refactor: abstract the getter

* rebase: master; add check of contract names

* refactor: remove old new eth reader/writer method

* refactor: update flags and configs for address dir

* fix: chuner config lint

* fix: more lints

* fix: more lints

* fix: inabox config

* refactor(ethClient): comment cleanup

* refactor(EigenDADirectory): update names and validation

* refactor(EigenDADirectory): always get latest list of contract names

* fix(EigenDADirectory): add service manager flag back to retreiver

* refactor(proxy): add address directory config

* refactor(proxy): add address directory config in test setup

* refactor(EigenDADirectory): rename more address directory to eigenda directory

* refactor(EigenDADirectory): more renaming

* fix(EigenDADirectory): relay inabox config

* fix(EigenDADirectory): add back flags and configs

* fix(EigenDADirectory): add back flags and configs

* fix(EigenDADirectory): inabox config

* fix(EigenDADirectory): make all three flags optional

* chore(proxy): gen-static-help-output

* refactor(EigenDADirectory): help msgs
* fix: structify address config

* refactor: use list of keys

* fix: fmt
* refactor: remove keys which can be derived, fix some naming, add a removal of key function for eigenda directory

* fix: remove usage auth registry

* fix: uncommited file
Remove duplicated resources files. Files were recently moved.
* Add utility for locking directories in LittDB.

* made suggested changes
* fix: disperser_client v2 nil ptr bug

legacyReply.Reservation can be nil, which causes a panic when it is dereferenced. I can reproduce this by running TestDispersalWithInvalidSignature() in correctness_test.go.

* Fix correctness tests.

* more fixes

* revert unintentional changes

* made suggested changes

* Made suggested changes.

Signed-off-by: Cody Littley <[email protected]>

---------

Signed-off-by: Cody Littley <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
* chore: gitignore

* feat: unify payment processing with DebitSlip abstraction

* refactor(payment): isolate debit slip changes

* fix: lint

* refactor: debitSlip remove ReceivedAt and add error types

* fix: lint

* refactor: move debit slip into new payment package
* fix: period record circular wrapping refresh

* chore: add unit tests for period records getRelativePeriodRecord
* fix: disperser_client v2 nil ptr bug

legacyReply.Reservation can be nil, which causes a panic when it is dereferenced. I can reproduce this by running TestDispersalWithInvalidSignature() in correctness_test.go.

* Fix correctness tests.

* more fixes

* revert unintentional changes

* Prepare for running as action.

* Updated keyvar config

* Fix workflow name

* Add temporary trigger.

* tweaks

Signed-off-by: Cody Littley <[email protected]>

* integrate slack bot

* Intentional failure.

* better notification

* Don't skip

Signed-off-by: Cody Littley <[email protected]>

* Update secret env vars

* Update timeout.

* Remove push trigger.

* made suggested changes

* Made suggested changes.

Signed-off-by: Cody Littley <[email protected]>

* Made suggested changes

* Remove debug code

---------

Signed-off-by: Cody Littley <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
* Initialize subgraph

* Initialize subgraph

* Initialize subgraph

* Save payment subgraph state

* rename ActiveReservation to CurrentReservation

* delete unused file and update ubuntu version

* fix

* Use spec version 1.2.0

* Add query examples + more test coverage

* Remove docker compose

* Add scripts for updating abi and adds a CI check when subgraph tests run

* Change CurrentReservation entity to Reservation

* Remove ABIs

* Add back ABIs
* Tweak how traffic generator is configured.

* Try simple ticker

* bugfix

* debug log

Signed-off-by: Cody Littley <[email protected]>

* fix floating point math

Signed-off-by: Cody Littley <[email protected]>

* Fix variable ticker

* Made suggested change

---------

Signed-off-by: Cody Littley <[email protected]>
Disable preprod live tests due to DNS break
* fix: defensive NewCertBuilder

Wasn't sanitizing its passed inputs before, which caused a very hard to debug error when deploying to preprod where the RegistryCoordinatorAddr was not populated on the load generator.

* chore: load_generator makefile improvements

Only rebuild when necessary, and make build the default command, as opposed to clean

* fix: loadgen metrics nil ptr bug

load generator was crashing when metrics were set to false. Believe this is a mistake in prometheus' promauto API. created an issue for this upstream (see comment in code), and added a hacky fix in our repo in the meantime.

* test: NewTestClient uses RegistryCoordinatorAddr from ethReader

Instead of using one that was read from the config, which was bug prone (and did lead to a bug)

* chore: CertBuilder info logs eth-call arguments

This is needed to debug this call. We had one failing on preprod which was failing with a "execution reverted". We should probably add eth-calls like this before every eth-call site. Unsure if we want info or debug yet...

* test: remove RegistryCoordinator addr from TestClientConfig

No longer needed as we read it from the ServiceManager. This is less bug prone.

* chore: make fmt

* fix: relative paths in test/v2/config files

Before relative paths wrt test files were used in the config file (for SRSPaths), which only worked for the tests, but not for running the load-generator.

I made the paths relative to the config file itself, so now they work for both tests and load-generators. I think it also makes understanding the config files easier (otherwise there's some mysterious relative path which doesn't make sense without knowing that the paths are meant to be interpreted wrt where the tests are located).

* style(cert_builder): only log eth-call params on error

This way we only log when actually needed (to debug), and don't clutter our happy-path logs for no reason.

* chore: fix test/v2/Makefile test command
* Add permissions for claude action

Signed-off-by: litt3 <[email protected]>

* Let claude write to PRs and issues

Signed-off-by: litt3 <[email protected]>

* Limit runaway usage

Signed-off-by: litt3 <[email protected]>

---------

Signed-off-by: litt3 <[email protected]>
* Create eigenda-releaser.yaml

* Update eigenda-releaser.yaml
Update eigenda-releaser.yaml
Update eigenda-releaser.yaml
Update eigenda-releaser.yaml
* Update eigenda-releaser.yaml

* Update eigenda-releaser.yaml
Update eigenda-releaser.yaml
* Update eigenda-releaser.yaml

* Update eigenda-releaser.yaml

adding more checks

* Update eigenda-releaser.yaml

branch checks.
* feat: rework deployment scripts

* fix: config issues

* feat: update config, add gitkeep

* feat: address comments

* fix: name, delete some old scripts

* feat: add docs

* fix: ci
* refactor: make pointsIO DRY

* refactor: pointsIO into a single generic function

Also added documentation for most functions, and exposed new functions to read from uncompressed points files.

* test: add pointsIO_test file

Includes a few tests/benchmarks to test uncompressed files. All set to be skipped. The benchmarks weren't conclusive enough to warrant a change to uncompressed points file imo, though we should at least debate it a little bit.

* chore: fix lint

* docs: add TODO prefix to comment per review feedback

* docs: fix parameter documentation for functions

* refactor: rename start/end to startPoint/endPoint for clarity

* refactor: rename readDesiredBytes to readBytes

* docs: add inline comments for loop variables and logic

Address review comments from litt3 on PR #1726:
- Document that i is the workerIndex
- Document that j is the pointIndex
- Explain that the final worker reads the rest of the points

* refactor: use io.SeekStart instead of magic number 0

Address review comment from bxue-l2 on PR #1726

* refactor: rename loop variables for clarity instead of using comments

- Rename i to workerIndex
- Rename j to pointIndex
- Remove inline comments as the variable names are now self-documenting

This addresses the same review feedback from litt3 on PR #1726
but uses better variable names instead of comments

* refactor: extract goroutine function into named deserializePointsInRange

Extract the anonymous goroutine function into a named function
deserializePointsInRange that better describes its purpose of
deserializing point data from bytes.

This addresses the review comment from litt3 on PR #1726 about
moving the function definition out of readPointSection.

* docs(pointsIO): remove wrong comment
bxue-l2 and others added 6 commits July 15, 2025 11:38
…#1718)

* add blob-derivation-and-preimage-in-integration-spec

* Apply suggestions from code review

Co-authored-by: Samuel Laferriere <[email protected]>

* update spec and restructure the hokulea section

* claude read 6-secure-intg

* claude proof read 2-op-hokulea-secure-integration

* add link to glossary

* update glossary

* minor tweek

* Apply suggestions from code review

commit suggestion

Co-authored-by: Samuel Laferriere <[email protected]>

* improve spec doc

---------

Co-authored-by: Samuel Laferriere <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
* Revert "fix: Update disperser client to take in logger vs initializing default one for ntp clock (#1651)"

This reverts commit 7f93aea.

* Revert "refactor: ntp init logs but not panic (#1568)"

This reverts commit 00256fd.

* Revert "feat: validator/disperser clock synchrony (#1509)"

This reverts commit 5c19ace.

* fix: NewDispserserClient call

Remove no longer needed log first argument

* chore: go mod tidy
)

* Initialize connection with validator in background goroutine

* Fix metric

* made suggested change
* Revert "refactor: account ledger interface incorporates debit slip (#1732)"

This reverts commit b4cf3d9.

* Revert "fix: period record circular wrapping refresh (#1731)"

This reverts commit 1091f46.

* Revert "fix: disperser_client v2 nil ptr bug (#1710)"

This reverts commit a5acd93.

* Revert "fix: disperser_client v2 should use default onDemandQuorums (#1700)"

This reverts commit 005e0a6.

* Revert "refactor: unify accountant debit slip (#1695)"

This reverts commit a9c0868.

* Revert "feat: AccountantLedger interface for next step unifications (#1694)"

This reverts commit 354e42f.

* Revert "feat: extract generic payment logic (#1693)"

This reverts commit 1003b98.

* Revert "fix: make disperser client backwards compatible (#1686)"

This reverts commit 26c612f.

* Revert "fix: payment state api doesn't fail at zero valued reservations/ondemand (#1682)"

This reverts commit 2031c1d.

* Revert "refactor: quorum specific metrics for metered bytes (#1668)"

This reverts commit 7ac688d.

* Revert "feat: GetPaymentStateForAllQuorums api impl (#1664)"

This reverts commit ed89588.

* Revert "refactor: core meterer consolidation (#1663)"

This reverts commit 319a865.

* Revert "refactor: onchain state interface (#1662)"

This reverts commit d795dfa.

* Revert "refactor: core meterer period record module (#1661)"

This reverts commit afbef90.

* Revert "refactor: payment common functions (#1653)"

This reverts commit 36a3d33.

* Revert "fix: period index calculation (#1641)"

This reverts commit c229748.

* Revert "refactor: use generic column name (#1626)"

This reverts commit 4d1994e.

* Revert "feat: payment onchain state interface (#1625)"

This reverts commit 61e46ac.

* Revert "feat: offchain quorum period record getter (#1620)"

This reverts commit a309139.

* Revert "feat: protobuf payment state api quorum specific variant (#1613)"

This reverts commit 58acdfd.

* Revert "fix: nil assignment to new account (#1612)"

This reverts commit bcbf9f5.

* Revert "feat: offchain batch writes (#1580)"

This reverts commit ce4d2f5.

* Revert "feat: validator authenticate on-demand request by disperser key (#1539)"

This reverts commit f545b16.

* fix: issues after series of reverts (scary)

* chore: add back ErrZeroSymbols error

This error was likely removed by mistake during a revert conflict fix from one of the previous set of reverted PRs.

* style: fix lint

* test: fix accountant_test hardcoded error string

* Revert "Revert "fix: period index calculation (#1641)""

This reverts commit b8767ae.
* Fix thread pool leak.

* Fix tests

* test fixes
Copy link

github-actions bot commented Jul 16, 2025

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

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed❌ failed (12)Jul 17, 2025, 8:56 PM

@dmanc dmanc changed the title Update release 2.1 from master chore: Update release 2.1 from master Jul 16, 2025
samlaf and others added 7 commits July 17, 2025 22:23
* chore: move test/integration_test under test/v1

* test: move eigenda_client_e2e_test to live test (makefile + ci)

Also changed the rpc-url to use same as that from the v2 live tests because the 1rpc one was super flaky and our integration test ci was constantly needing to be restarting after 10 mins because of that.

* test: add error to localstack container error everywhere
Fix v2 thread pool leak.
ci: turn off failing proxy preprod tests

preprod relay and operators no longer expose a public DNS, to minimize egress costs.
We need to run these tests from inside the cluster, either using a self-hosted runner or k8s cron job live test.
* fix: node shouldnt require eigenda directory

Preprod Validator was seeing 2025/07/16 22:21:34 application failed: failed to create address directory reader: address directory must be a valid hex address:
When using the old config. EigenDADirectory was added, but should be backward compatible and just seamlessly fallback to using the provided EigenDAServiceManager passed in as argument when Directory is not present.

We will later deprecate and remove the other flags but for now we want the flags to be backwards compatible.

* style: fix docs to point to eigencloud

* chore: log directory and servicemanager in warn log

* style(node): error out on eigendadirectory misconfiguration
* Write on cache miss flag (#422)

* Write on cache miss flag

* Fix category

* Update help

* Update docs/help_out.txt

Co-authored-by: Samuel Laferriere <[email protected]>

* Update flag doc

* Add e2e test for WriteOnCacheMiss flag

* Fix lint

---------

Co-authored-by: Samuel Laferriere <[email protected]>

* style: fix comments in proxy golangci.yml

---------

Co-authored-by: Gaston Ponti <[email protected]>
@dmanc dmanc marked this pull request as ready for review July 17, 2025 19:04
@dmanc dmanc requested review from pakim249CAL and a team as code owners July 17, 2025 19:04
@dmanc dmanc closed this Jul 17, 2025
@dmanc dmanc reopened this Jul 17, 2025
* feat: Add  network enum

* feat: Add  network enum && read system contracts from EigenDA directory contract - gen static output

* chore: address pr feedback
@dmanc dmanc closed this Jul 17, 2025
@dmanc dmanc reopened this Jul 17, 2025
@dmanc dmanc requested a review from samlaf July 17, 2025 21:01
@dmanc dmanc merged commit b774b5d into release/2.1 Jul 17, 2025
27 of 28 checks passed
@dmanc dmanc deleted the update-release-2.1-from-master branch July 17, 2025 21:09
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.

9 participants