These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | d75010d | |
|---|---|---|
| Author: | litt3 | |
Iterate on draft Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 16d38b4 | |
|---|---|---|
| Author: | litt | |
| Committer: | GitHub | |
feat: Stub out simplified chunk retrieval request (#2440) * Start implementing simplified get chunks request Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add blob key Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
The documentation is generated from this commit.
| Commit: | ed94675 | |
|---|---|---|
| Author: | litt | |
| Committer: | GitHub | |
feat: Anchor dispersal requests (#2402) * Draft new hashing version Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Populate structs properly Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Pivot to new design Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Pivot again and simplify design Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert metadata changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add back old auth method Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix missing field initialization Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix unit tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove smell Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add flag to disable anchor sig verification Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Define new bool flag everywhere Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Make disperser ID required Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Regenerate inabox flags Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d28bdea | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | GitHub | |
feat: api server signing rate (#2371) * Add gRPC to API server for signing rate info. * incremental progress * wire up config * made suggested fix * made suggested changes * made suggested change
| Commit: | fea510c | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | GitHub | |
feat: signing rate controller grpc implementation (#2357) * Implement GetValidatorSigningRate() grpcs on the controller * Implement dump grpc
| Commit: | ddc2524 | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | GitHub | |
feat: efficient range query (#2317) * Refactor chunk metadata * incremental progress * Add code for downloading with new strategy * misc fixes * protoc * fix unit tests * adjust test rate limit * fix unit test bug * made suggested changes * made suggested change * go fmt * made suggested changes * made suggested changes
| Commit: | 1ea82e7 | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | GitHub | |
feat: signing rate controller grpcs (#2327) * add protobufs and grpcs for signing rates * Add placeholders in the server impl * fix protobufs * made suggested changes
| Commit: | b1dc237 | |
|---|---|---|
| Author: | litt | |
| Committer: | GitHub | |
chore(disperser-client): Remove option to rely on disperser for commitment generation (#2320) * Remove option to rely on disperser for commitment generation Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix more docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 7ac4dc1 | |
|---|---|---|
| Author: | Cody Littley | |
remove more churner code
| Commit: | 8d1c3c7 | |
|---|---|---|
| Author: | Cody Littley | |
delete some stuff, things are broken
| Commit: | 7356f3b | |
|---|---|---|
| Author: | litt3 | |
Fix lint and regen protoc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 424a5ba | |
|---|---|---|
| Author: | litt3 | |
Draft disperser refunds Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d3cd897 | |
|---|---|---|
| Author: | Samuel Laferriere | |
| Committer: | GitHub | |
fix(bloblength): use uint32 instead of uint (#2053) * fix(blobLength): use uint32 instead of uint We've been using uint/int in a bunch of data types which are fundamental to our protocol, and influence hashing and possibly other things. We shouldn't. bloblength is once instance where we use uint32 onchain, uint offchain (and actually uint64 in the encoder proto!). This PR changes the main offchain bloblength type from uint to uint32, and propagates the changes everywhere. I decided not to change all the v1 chunk encoding/assignment logic which still uses uint, and so just convert uint32->uint when calling those functions. This is fine because golang uint type is always at least uint32. * fix lint * style: fix proto lint issue * test: fix encoding_streamer_test * fix lint
| Commit: | 2268375 | |
|---|---|---|
| Author: | Samuel Laferriere | |
style: fix proto lint issue
| Commit: | 451c816 | |
|---|---|---|
| Author: | Samuel Laferriere | |
fix(blobLength): use uint32 instead of uint We've been using uint/int in a bunch of data types which are fundamental to our protocol, and influence hashing and possibly other things. We shouldn't. bloblength is once instance where we use uint32 onchain, uint offchain (and actually uint64 in the encoder proto!). This PR changes the main offchain bloblength type from uint to uint32, and propagates the changes everywhere. I decided not to change all the v1 chunk encoding/assignment logic which still uses uint, and so just convert uint32->uint when calling those functions. This is fine because golang uint type is always at least uint32.
| Commit: | 423314d | |
|---|---|---|
| Author: | Cody Littley | |
Merge branch 'master' into 1954-signing-rate
| Commit: | 6746eef | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | GitHub | |
feat: data structures for tracking signing rates (#1992) * Data structures for tracking signing rates. * add missing file * fix minor issues * made suggested changes * ignore proto rule * formatting * formatting * made suggested changes * made suggested changes * Fix context usage. * made suggested changes * made suggested change * fix whitespace
| Commit: | 3573200 | |
|---|---|---|
| Author: | Samuel Laferriere | |
docs(proto): commitment length only powerof2 for v2
| Commit: | 02422bf | |
|---|---|---|
| Author: | Cody Littley | |
integrate signing rate data structures
| Commit: | d8c8e11 | |
|---|---|---|
| Author: | Cody Littley | |
Merge branch '1954-sr-data-structures' into 1954-signing-rate
| Commit: | 7d74749 | |
|---|---|---|
| Author: | Cody Littley | |
formatting
| Commit: | d7ac64f | |
|---|---|---|
| Author: | Cody Littley | |
formatting
| Commit: | 887e865 | |
|---|---|---|
| Author: | Cody Littley | |
Merge branch 'master' into 1954-sr-data-structures
| Commit: | 4569151 | |
|---|---|---|
| Author: | litt | |
| Committer: | GitHub | |
feat(controller): Implement Controller GRPC Server (#1897) * Draft controller grpc server Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up first draft Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Start thinking about errors Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename to ControllerService, and put in new package Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename field to clientSignature Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add missed changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename file Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Shuffle things around Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use preexisting pattern Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix signing logic, and work on config Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix nits Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove unnecessary request field Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename member Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Make new payment system opt in Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Return error for not implemented auth Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Implement proper config scheme Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Properly wrap errors Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Polish configuration system Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Choose better separation of concerns Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Regen protoc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix buf lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix close error handling Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use different verification strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Simplify opt building Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Run make fmt Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move TODO from proto doc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Reorganize packages Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix metrics Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Change type of port field Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Extract signing and verification utils Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Panic if grpc server dies Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use different signature verification strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove unused metrics Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Simplify server metric reporting Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Specify metrics subsystem Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove v1 package name Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use error helpers Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Explain accounting and metering Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Describe security considerations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Split out grpc config Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Regen protoc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add some potential error cases Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename service package to server Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix buf lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d475f48 | |
|---|---|---|
| Author: | Cody Littley | |
Merge branch '1954-sr-data-structures' into 1954-signing-rate
| Commit: | 1178126 | |
|---|---|---|
| Author: | Cody Littley | |
made suggested changes
| Commit: | bb4a68d | |
|---|---|---|
| Author: | Cody Littley | |
| Committer: | Cody Littley | |
Data structures for tracking signing rates.
| Commit: | e4e4e71 | |
|---|---|---|
| Author: | litt3 | |
Fix buf lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | ec3bf00 | |
|---|---|---|
| Author: | litt3 | |
Add some potential error cases Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 370c365 | |
|---|---|---|
| Author: | litt3 | |
Describe security considerations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 5ab06bf | |
|---|---|---|
| Author: | litt3 | |
Explain accounting and metering Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | ed81e10 | |
|---|---|---|
| Author: | litt3 | |
Remove v1 package name Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 9932039 | |
|---|---|---|
| Author: | litt3 | |
Use different signature verification strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | e07d7e3 | |
|---|---|---|
| Author: | litt3 | |
Move TODO from proto doc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 802a96a | |
|---|---|---|
| Author: | litt3 | |
Fix buf lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d9c0a29 | |
|---|---|---|
| Author: | litt3 | |
Polish configuration system Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 6a0e3a9 | |
|---|---|---|
| Author: | litt3 | |
Remove unnecessary request field Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | c165677 | |
|---|---|---|
| Author: | litt3 | |
Fix nits Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | dd20c44 | |
|---|---|---|
| Author: | litt3 | |
Shuffle things around Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | b5c7ec4 | |
|---|---|---|
| Author: | litt3 | |
Rename file Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 7446f4b | |
|---|---|---|
| Author: | litt3 | |
Rename field to clientSignature Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | ae6fc25 | |
|---|---|---|
| Author: | litt3 | |
Rename to ControllerService, and put in new package Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d974333 | |
|---|---|---|
| Author: | Cody Littley | |
Checkin for weekend
| Commit: | fb4429b | |
|---|---|---|
| Author: | Cody Littley | |
begin wiring in signing rate tracker
| Commit: | 3dc1579 | |
|---|---|---|
| Author: | Cody Littley | |
Add new gRPCs for signing rates, need to implement handlers
| Commit: | 6b9aff8 | |
|---|---|---|
| Author: | Cody Littley | |
change package for protobuf
| Commit: | 60c996e | |
|---|---|---|
| Author: | Cody Littley | |
incremental progress
| Commit: | 55d9b00 | |
|---|---|---|
| Author: | Cody Littley | |
remove uptime
| Commit: | 2de1051 | |
|---|---|---|
| Author: | Cody Littley | |
rename some things
| Commit: | 0aa96f6 | |
|---|---|---|
| Author: | Cody Littley | |
Create utility for locally tracking signing rate.
| Commit: | e6a77a9 | |
|---|---|---|
| Author: | litt3 | |
Clean up first draft Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 42b5684 | |
|---|---|---|
| Author: | litt3 | |
Draft controller grpc server Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 6b5fa6e | |
|---|---|---|
| Author: | litt | |
| Committer: | GitHub | |
docs: Simplify and improve payment header docs (#1820) * Simplify and improve payment header docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix typo Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add protoc tools to mise, and run it Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert mise changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clarify the source of truth for different aspects of payments Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Define who sets reservations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clarify how blobs are billed Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clarify 0x prefix is optional Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * State what the blob header hash functions as Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Refer to fixed window instead of bin algorithm Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Document encoding format of cumulative payment Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add example for cumulative payment field Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Run make protoc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | f608886 | |
|---|---|---|
| Author: | litt3 | |
Add example for cumulative payment field Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | a8c9ad1 | |
|---|---|---|
| Author: | litt3 | |
Document encoding format of cumulative payment Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 64aa57e | |
|---|---|---|
| Author: | litt3 | |
Refer to fixed window instead of bin algorithm Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 196ceb2 | |
|---|---|---|
| Author: | litt3 | |
State what the blob header hash functions as Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 74a0c12 | |
|---|---|---|
| Author: | litt3 | |
Clarify 0x prefix is optional Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 7512785 | |
|---|---|---|
| Author: | litt3 | |
Clarify how blobs are billed Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | d75da97 | |
|---|---|---|
| Author: | litt3 | |
Define who sets reservations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 73eef45 | |
|---|---|---|
| Author: | litt3 | |
Clarify the source of truth for different aspects of payments Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | 80e5c6b | |
|---|---|---|
| Author: | litt3 | |
Fix typo Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | cbc0151 | |
|---|---|---|
| Author: | litt3 | |
Simplify and improve payment header docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com>
| Commit: | b774b5d | |
|---|---|---|
| Author: | Daniel Mancia | |
| Committer: | GitHub | |
chore: Update release 2.1 from master (#1772) * chore: add proxy to monorepo (#1611) * 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 <cody@eigenlabs.org> * Split actions into smaller workflows. Signed-off-by: Cody Littley <cody@eigenlabs.org> * Remove omnibus actions workflow. Signed-off-by: Cody Littley <cody@eigenlabs.org> * Fixed holesky test name Signed-off-by: Cody Littley <cody@eigenlabs.org> * Updated readme with more badges. Signed-off-by: Cody Littley <cody@eigenlabs.org> * Rename some things. Signed-off-by: Cody Littley <cody@eigenlabs.org> * feat: Optimism v1.9 support * backup * Update README.md Co-authored-by: Ethen <ethenpo@gmail.com> * Update store/router.go Co-authored-by: Ethen <ethenpo@gmail.com> * 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 <ubuntu@ip-172-31-91-211.ec2.internal> * 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 <ubuntu@ip-172-31-91-211.ec2.internal> * 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 <samlaf92@gmail.com> * changed test name and fn name * test config changes * making the linter happy * adding comments --------- Co-authored-by: anupsv <asv@asvs-wk.local> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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 <ubuntu@ip-172-31-91-211.ec2.internal> * rename commitment mode (#151) * rename * restore go.mod and go.sum --------- Co-authored-by: Ubuntu <ubuntu@ip-172-31-91-211.ec2.internal> * 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 <ubuntu@ip-172-31-91-211.ec2.internal> * hide eth rpc, format hidden string (#171) Co-authored-by: Ubuntu <ubuntu@ip-172-31-91-211.ec2.internal> * 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 <ubuntu@ip-172-31-91-211.ec2.internal> * 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 <samlaf92@gmail.com> * 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 <ethen@eigenlabs.org> * 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 <102969658+litt3@users.noreply.github.com> * Add link to on chain method Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Add missed period Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add additional explanation of e2e tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <asv@asvs-wk.local> * 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 <ethen@eigenlabs.org> * 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 <ethen@eigenlabs.org> --------- Co-authored-by: Ethen <ethen@eigenlabs.org> * 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 <samlaf92@gmail.com> * Update verify/verifier.go Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * Avoid unnecessary cast * Rename constant * Fix lint --------- Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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 <ethen@eigenlabs.org> * docs(memstore): add command to print memstore flags --------- Co-authored-by: ethenotethan <ethen@eigenlabs.org> * 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 <samlaf92@gmail.com> * 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 <samlaf92@gmail.com> * 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 <ethen@eigenlabs.org> * 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 <ethen@eigenlabs.org> --------- Co-authored-by: Ethen <ethen@eigenlabs.org> * 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 <samlaf92@gmail.com> * Update verify/verifier.go Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * Avoid unnecessary cast * Rename constant * Fix lint --------- Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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 <samlaf92@gmail.com> Co-authored-by: Gaston Ponti <pontigaston@gmail.com> * 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 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Use snake case for imports Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Adopt latest eigenDA changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix error messages Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak import Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Check signer account balance Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename EigenDACommit to EigenDACommitmentType Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Strive for naming consistency Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Do general cleanup Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix bug found by copilot Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Further separate out secrets Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Reduce diff size Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Return error instead of panicking Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix log Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Only read v2 config if enabled Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Put back check for redis password Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Make configs not use pointers Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove reference to arbitrum Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Builder Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Do more cleanup on StorageManagerBuilder Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move CertVerifierAddress into config struct Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Return struct instead of interface Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Convert len to symbols Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add TODO Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Describe future improvements Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add additional config check Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> Co-authored-by: Ethen Pociask <ethen@eigenlabs.org> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> Co-authored-by: Gaston Ponti <pontigaston@gmail.com> * 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 <102969658+litt3@users.noreply.github.com> * fix: Enforce V1 cert field sizes (#338) * Do integration test cleanup (#337) * Do some test cleanup Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak more configurations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak log levels Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add makefile doc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use better flag name Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test type Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add test matrix Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak per pr yaml Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove irrelevant vars from settings.json Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix fuzz description Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove coverage from CI Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test timeout Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Don't bother excluding fuzz tests from unit tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Decrease boilerplate Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename Environment to Backend Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove test matrix util Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Split benchmark test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try alternate test config strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix failing tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Use constant Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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 <102969658+litt3@users.noreply.github.com> * Tweak more configurations Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak log levels Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add makefile doc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use better flag name Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test type Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add test matrix Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Tweak per pr yaml Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove irrelevant vars from settings.json Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix fuzz description Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove coverage from CI Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test timeout Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Don't bother excluding fuzz tests from unit tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Decrease boilerplate Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename Environment to Backend Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove test matrix util Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Split benchmark test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try alternate test config strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix failing tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Configure secrets correctly Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Iterate Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Iterate again Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Get relay registry address correctly Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Share code pathways between tests and production Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix docker Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Redact additional sensitive fields Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Disable verification for memstore mode Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Further simplify test configuration Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test path Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Reenable test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix more test paths Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix config tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase holesky e2e timeout Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Support preprod tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix yml Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Properly configure g2 Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Checkout with lfs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try to get SRS Order right Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert SRS changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Temporarily disable dispersal verification Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try to fix fuzz test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert unnecessary changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use experimental g2 point loading Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert change to G1 Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove power of 2 g2 points Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add deprecated flag Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Track deprecated flags Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove unnecessary edge case Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix broken V2 verify Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Reenable client side proving Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Declutter make tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix the test filter regex Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update core version Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try again to get the correct make command Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Prevent grep from buffering Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use pipefail Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Give up on filtering Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix error message Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add clarifying comment to v2 config struct Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Rename to MetricsConfig Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix terrible misnaming Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Simplify steps for overriding test flag configs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove unused member var Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix small typos Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Make backend error message better Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Improve explanation of kzg behavior Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Improve v2 terminology and consistency Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Improve config ordering Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert name change Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Improve const names Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Change flag deprecation strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * First pass Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move utility method Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert formatting changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add Enabled to memstore config marshal Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert benchmark changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * More reversions Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move method in Setup Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert flags changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Newline change Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert formatting changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert secondary source changes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert newline Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix kzg config init Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Revert grep addition Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove accidental grep Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try to get flags right again Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Split out test suite Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Split out verifier and kzg flags Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Shuffle around enable flag Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update help_out Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove version Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add missed config value Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix lint Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update flag categories Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Lengthen e2e local timeout Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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/clients@v1.0.1/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 <102969658+litt3@users.noreply.github.com> * Apply fix to fallback Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try increasing timeout Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase test parallelism Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase timeout even more, hopefully enough Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Create migration tests (#348) * Create migration tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix unit tests Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix naming Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * More naming fixes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Hopefully final naming fixes Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * More clean up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update core commit Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move require out of utility method Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add better comments describing switching dispersal Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Move where atomic version is constructed Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Modify backend init strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add additional require Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Implement new config enum for backends Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix unit test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update help_out Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Improve test assertions Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add test util Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Reorganize v2 enablement flags Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update help_out Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Check backends len Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try increasing memstore e2e timeout. Unsure why it's not completing Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Use variadic param Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Create env var test (#349) * Create env var test Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update core commit Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix script Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try bogus signing key Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase wait time Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase wait time even more Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Increase wait time to 75 Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Try matrix strategy Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix test name Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add check to make sure env path is specified Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Create separate env var tests for v1, v2, and both Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Update .env file in .envrc Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * 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 <102969658+litt3@users.noreply.github.com> * Speed things up Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Use got… * chore: rename periphery to integrations (#1667) * chore: rename periphery to integrations * Update contracts/README.md Co-authored-by: ethenotethan <ethen@eigenlabs.org> * fix: edit README --------- Co-authored-by: ethenotethan <ethen@eigenlabs.org> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * feat: Create CLAUDE.md (#1698) * Draft CLAUDE.md Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Decrease LOC that consitute 'large changes' Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add optimizations to list of things to note in docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Denote contract bindings as autogen files to not be modified Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Import linter yaml automatically Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add link to anthropic docs to explain @ annotation Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove ambiguous word 'touch' Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix file imports Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove command import for now Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Add go.mod to imports Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Simplify wrong working dir pitfall Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Remove fuzzy style rules, and add testing section Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Specify that humans write docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Clarify how bindings can be updated Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Mention TODO comments Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Import available project slash commands Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Address the 'yes man' Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Augment prime directives Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Fix line len Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Don't auto parse docs Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * feat: AccountantLedger interface for next step unifications (#1694) * 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 * fix: Update icicle encoder go version and fix build issue (#1719) * Update icicle encoder go version and fix build issue * Update disperser/cmd/encoder/icicle.Dockerfile Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> --------- Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * refactor: quorum specific metrics for metered bytes (#1668) * feat: quorum specific metrics for metered bytes * fix: unit test mock calls * feat: eth client address directory (#1691) * 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 (#1707) * fix: structify address config * refactor: use list of keys * fix: fmt * feat: remove keys in eigenDADirectory (#1724) * 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 * chore: remove duplicated files (#1703) Remove duplicated resources files. Files were recently moved. * feat: LittDB locking utility (#1702) * Add utility for locking directories in LittDB. * made suggested changes * fix: correctness tests (#1711) * 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 <cody@eigenlabs.org> --------- Signed-off-by: Cody Littley <cody@eigenlabs.org> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * refactor: unify accountant debit slip (#1695) * 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 (#1731) * fix: period record circular wrapping refresh * chore: add unit tests for period records getRelativePeriodRecord * refactor: account ledger interface incorporates debit slip (#1732) * test: set up periodic tests against live environments (#1713) * 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 <cody@eigenlabs.org> * integrate slack bot * Intentional failure. * better notification * Don't skip Signed-off-by: Cody Littley <cody@eigenlabs.org> * Update secret env vars * Update timeout. * Remove push trigger. * made suggested changes * Made suggested changes. Signed-off-by: Cody Littley <cody@eigenlabs.org> * Made suggested changes * Remove debug code --------- Signed-off-by: Cody Littley <cody@eigenlabs.org> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * feat: Payments subgraph (#1709) * 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 * fix: traffic generator now able to send high traffic (#1742) * Tweak how traffic generator is configured. * Try simple ticker * bugfix * debug log Signed-off-by: Cody Littley <cody@eigenlabs.org> * fix floating point math Signed-off-by: Cody Littley <cody@eigenlabs.org> * Fix variable ticker * Made suggested change --------- Signed-off-by: Cody Littley <cody@eigenlabs.org> * chore: disable preprod live tests due to DNS break (#1743) Disable preprod live tests due to DNS break * fix: load generator improvements (#1722) * 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 * fix: Add permissions for claude action (#1735) * Add permissions for claude action Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Let claude write to PRs and issues Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * Limit runaway usage Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> --------- Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * fix: create eigenda-releaser.yaml (#1746) * Create eigenda-releaser.yaml * Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1747) Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1748) Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1749) Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1750) * Update eigenda-releaser.yaml * Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1751) Update eigenda-releaser.yaml * fix: update eigenda-releaser.yaml (#1753) * Update eigenda-releaser.yaml * Update eigenda-releaser.yaml adding more checks * Update eigenda-releaser.yaml branch checks. * feat: mainnet beta contracts (#1675) * 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: pointsIO functions and docs (#1726) * 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 * chore: upgrade gnark-crypto 0.16->0.18 (#1755) * 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 * upgrade gnark-crypto to v0.18.0 This upgrade enables access to the NoSubgroupChecks option in the Decoder which can potentially improve point parsing performance by skipping subgroup validation checks. Related to performance discussion in PR #1726. * chore: allow make build in git worktrees (#1766) See comment added to makefile for details. * docs: intg spec add blob derivation and preimage for integration spec (#1718) * add blob-derivation-and-preimage-in-integration-spec * Apply suggestions from code review Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * 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 <9342524+samlaf@users.noreply.github.com> * improve spec doc --------- Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> Co-authored-by: Samuel Laferriere <9342524+samlaf@users.noreply.github.com> * chore: revert ntp clock (#1760) * Revert "fix: Update disperser client to take in logger vs initializing default one for ntp clock (#1651)" This reverts commit 7f93aeaeb13f688cb0626e97e86f518946687390. * Revert "refactor: ntp init logs but not panic (#1568)" This reverts commit 00256fd4f9c07478e8d67883d9dd37673ce86523. * Revert "feat: validator/disperser clock synchrony (#1509)" This reverts commit 5c19ace0eda32a98f11a2fa33e312d19f7250a3d. * fix: NewDispserserClient call Remove no longer needed log first argument * chore: go mod tidy * fix: Initialize connection with validator in background goroutine (#1769) * Initialize connection with validator in background goroutine * Fix metric * made suggested change * chore: revert per-quorum reservation payments prs (#1759) * Revert "refactor: account ledger interface incorporates debit slip (#1732)" This reverts commit b4cf3d9cca9811f039fcbd00a4713d5c8c6a2412. * Revert "fix: period record circular wrapping refresh (#1731)" This reverts commit 1091f460ba762b84019389cbb82d9b04bb2c2bdb. * Revert "fix: disperser_client v2 nil ptr bug (#1710)" This reverts commit a5acd9325853c0677813549fdef440d24f008364. * Revert "fix: disperser_client v2 should use default onDemandQuorums (#1700)" This reverts commit 005e0a63f2ec8e6e8898d55c8a7c7953e34144d8. * Revert "refactor: unify accountant debit slip (#1695)" This reverts commit a9c0868317701878ceecb1123757eb8acb634fbd. * Revert "feat: AccountantLedger interface for next step unifications (#1694)" This reverts commit 354e42fec36038f4388658bfd7e1749558250597. * Revert "feat: extract generic payment logic (#1693)" This reverts commit 1003b98919ad233d32a3cd083044f21d3295ef34. * Revert "fix: make disperser client backwards compatible (#1686)" This reverts commit 26c612f5ea4b1b6a957af5fe320648a5fc73e7b3. * Revert "fix: payment state api doesn't fail at zero valued reservations/ondemand (#1682)" This reverts commit 2031c1d79f7703f9ffe9b698531570e85e596a5b. * Revert "refactor: quorum specific metrics for metered bytes (#1668)" This reverts commit 7ac688d57830420be8138433f0f4bb626f52c45a. * Revert "feat: GetPaymentStateForAllQuorums api impl (#1664)" This reverts commit ed895887c6dd4fc055017356d24503c59a3f70ab. * Revert "refactor: core meterer consolidation (#1663)" This reverts commit 319a865a3bab3b814cde709e12d749647869b674. * Revert "refactor: onchain state interface (#1662)" This reverts commit d795dfa70d98c96bbebb21c356a7294bff1b47e0. * Revert "refactor: core meterer period record module (#1661)" This reverts commit afbef9069a975db16978c679bd147bbdcad91093. * Revert "refactor: payment common functions (#1653)" This reverts commit 36a3d33c9af13587c3a51c3598eb6cbd3799945f. * Revert "fix: period index calculation (#1641)" This reverts commit c2297486dc65bbe335581a078db85c81c51e9c99. * Revert "refactor: use generic column name (#1626)" This reverts commit 4d1994e318ff6898cfd500270d8881e18dc021bf. * Revert "feat: payment onchain state interface (#1625)" This reverts commit 61e46ac4754cfd38967c1d792fa35e11b55d2601. * Revert "feat: offchain quorum period record getter (#1620)" This reverts commit a3091395a470687457885a4b6f23b96661699533. * Revert "feat: protobuf payment state api quorum specific variant (#1613)" This reverts commit 58acdfdae98a897c1eceb4690b7fac4d3e8acb1e. * Revert "fix: nil assignment to new account (#1612)" This reverts commit bcbf9f58c81b6620796eb88791f12cc294a1799b. * Revert "feat: offchain batch writes (#1580)" This reverts commit ce4d2f5e7381d436e6525856872431486b21619a. * Revert "feat: validator authenticate on-demand request by disperser key (#1539)" This reverts commit f545b16ffccfb6b9ac1b603bdb0770fb2f09c140. * 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 b8767ae363361d65251f199095a46260ee3770d3. * fix: thread pool leak (#1770) * Fix thread pool leak. * Fix tests * test fixes * ci: move v1 client holesky test to live test (#1765) * 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: Use protobuf getters instead of direct access (#1714) Fix proto getters Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> * fix: v2 thread pool leak (#1773) Fix v2 thread pool leak. * ci(proxy): turn off failing preprod tests (#1775) 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 flag (#1774) * 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 * chore: cherry-pick celo's PR from proxy repo (#1776) * 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 <samlaf92@gmail.com> * Update flag doc * Add e2e test for WriteOnCacheMiss flag * Fix lint --------- Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> * style: fix comments in proxy golangci.yml --------- Co-authored-by: Gaston Ponti <gaston.ponti@clabs.co> * feat(proxy): Add `mainnet` network enum (#1756) * feat: Add network enum * feat: Add network enum && read system contracts from EigenDA directory contract - gen static output * chore: address pr feedback --------- Signed-off-by: Cody Littley <cody@eigenlabs.org> Signed-off-by: litt3 <102969658+litt3@users.noreply.github.com> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> Co-authored-by: Ubuntu <ubuntu@ip-172-31-39-89.ec2.internal> Co-authored-by: Ethen Pociask <ethenpo@gmail.com> Co-authored-by: Ubuntu <ubuntu@ip-172-31-91-211.ec2.internal> Co-authored-by: Cody Littley <cody@eigenlabs.org> Co-authored-by: Ino Murko <ino.murko.github@protonmail.com> Co-authored-by: Bowen Xue <93296844+bxue-l2@users.noreply.github.com> Co-authored-by: Karl Bartel <karl.bartel@clabs.co> Co-authored-by: Rani <charmful0x@gmail.com> Co-authored-by: Ethen <ethen@eigenlabs.org> Co-authored-by: hopeyen <60078528+hopeyen@users.noreply.github.com> Co-authored-by: anupsv <anupsv@users.noreply.github.com> Co-authored-by: anupsv <asv@asvs-wk.local> Co-authored-by: Mariano Cortesi <mcortesi@gmail.com> Co-authored-by: Javier Cortejoso <javier.cortejoso@gmail.com> Co-authored-by: Tomás Grüner <47506558+MegaRedHand@users.noreply.github.com> Co-authored-by: litt <102969658+litt3@users.noreply.github.com> Co-authored-by: Gaston Ponti <pontigaston@gmail.com> Co-authored-by: Gaston Ponti <gaston.ponti@clabs.co> Co-authored-by: Madhur Shrimal <madhur.shrimal@gmail.com> Co-authored-by: Ethen Pociask <ethenpociask@macbook-pro.mynetworksettings.com> Co-authored-by: Patrick Kim <pakim249@gmail.com> Co-authored-by: Cody Littley <56973212+cody-littley@users.noreply.github.com> Co-authored-by: Samuel Laferriere <9342524+samlaf@users.noreply.github.com>
| Commit: | 6762a74 | |
|---|---|---|
| Author: | Samuel Laferriere | |
| Committer: | GitHub | |
chore: revert per-quorum reservation payments prs (#1759) * Revert "refactor: account ledger interface incorporates debit slip (#1732)" This reverts commit b4cf3d9cca9811f039fcbd00a4713d5c8c6a2412. * Revert "fix: period record circular wrapping refresh (#1731)" This reverts commit 1091f460ba762b84019389cbb82d9b04bb2c2bdb. * Revert "fix: disperser_client v2 nil ptr bug (#1710)" This reverts commit a5acd9325853c0677813549fdef440d24f008364. * Revert "fix: disperser_client v2 should use default onDemandQuorums (#1700)" This reverts commit 005e0a63f2ec8e6e8898d55c8a7c7953e34144d8. * Revert "refactor: unify accountant debit slip (#1695)" This reverts commit a9c0868317701878ceecb1123757eb8acb634fbd. * Revert "feat: AccountantLedger interface for next step unifications (#1694)" This reverts commit 354e42fec36038f4388658bfd7e1749558250597. * Revert "feat: extract generic payment logic (#1693)" This reverts commit 1003b98919ad233d32a3cd083044f21d3295ef34. * Revert "fix: make disperser client backwards compatible (#1686)" This reverts commit 26c612f5ea4b1b6a957af5fe320648a5fc73e7b3. * Revert "fix: payment state api doesn't fail at zero valued reservations/ondemand (#1682)" This reverts commit 2031c1d79f7703f9ffe9b698531570e85e596a5b. * Revert "refactor: quorum specific metrics for metered bytes (#1668)" This reverts commit 7ac688d57830420be8138433f0f4bb626f52c45a. * Revert "feat: GetPaymentStateForAllQuorums api impl (#1664)" This reverts commit ed895887c6dd4fc055017356d24503c59a3f70ab. * Revert "refactor: core meterer consolidation (#1663)" This reverts commit 319a865a3bab3b814cde709e12d749647869b674. * Revert "refactor: onchain state interface (#1662)" This reverts commit d795dfa70d98c96bbebb21c356a7294bff1b47e0. * Revert "refactor: core meterer period record module (#1661)" This reverts commit afbef9069a975db16978c679bd147bbdcad91093. * Revert "refactor: payment common functions (#1653)" This reverts commit 36a3d33c9af13587c3a51c3598eb6cbd3799945f. * Revert "fix: period index calculation (#1641)" This reverts commit c2297486dc65bbe335581a078db85c81c51e9c99. * Revert "refactor: use generic column name (#1626)" This reverts commit 4d1994e318ff6898cfd500270d8881e18dc021bf. * Revert "feat: payment onchain state interface (#1625)" This reverts commit 61e46ac4754cfd38967c1d792fa35e11b55d2601. * Revert "feat: offchain quorum period record getter (#1620)" This reverts commit a3091395a470687457885a4b6f23b96661699533. * Revert "feat: protobuf payment state api quorum specific variant (#1613)" This reverts commit 58acdfdae98a897c1eceb4690b7fac4d3e8acb1e. * Revert "fix: nil assignment to new account (#1612)" This reverts commit bcbf9f58c81b6620796eb88791f12cc294a1799b. * Revert "feat: offchain batch writes (#1580)" This reverts commit ce4d2f5e7381d436e6525856872431486b21619a. * Revert "feat: validator authenticate on-demand request by disperser key (#1539)" This reverts commit f545b16ffccfb6b9ac1b603bdb0770fb2f09c140. * 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 b8767ae363361d65251f199095a46260ee3770d3.
| Commit: | e988560 | |
|---|---|---|
| Author: | Samuel Laferriere | |
Revert "feat: protobuf payment state api quorum specific variant (#1613)" This reverts commit 58acdfdae98a897c1eceb4690b7fac4d3e8acb1e.
| Commit: | 6e14aed | |
|---|---|---|
| Author: | Samuel Laferriere | |
Revert "fix: make disperser client backwards compatible (#1686)" This reverts commit 26c612f5ea4b1b6a957af5fe320648a5fc73e7b3.
| Commit: | 26c612f | |
|---|---|---|
| Author: | Samuel Laferriere | |
| Committer: | GitHub | |
fix: make disperser client backwards compatible (#1686) * chore(apiserver): refactor GetPaymentState to highlight legacy conversion * wip: attempt to make disperser_client backwards compatible TODO: review the Claude generated getPaymentStateFromLegacyAPI... no idea if its OK or not. * docs(apiserver): document convertAllQuorumsReplyToLegacy function * fix(disperser_client): convertLegacyPaymentStateToNew returns error * fix(disperser_client): set correct value for ReservationRateLimitWindow * style: targetting -> targeting * docs: remove outdated TODO comment * docs: add docstring for getPaymentStateFromLegacyAPI * fix: return error if PaymentGlobalParams==nil * docs(proto): document GetPaymentStateReply fields also GetPaymentStateForAllQuorumsReply fields * docs(proto): document why GetPaymentStateRequest is separate type from GetPaymentStateForAllQuorumsRequest * style: remove outdated comment * fix(disperser_client): onDemandEnabled value in convertLegacyPaymentStateToNew * style: better error message in convertLegacyPaymentStateToNew * refactor: convertLegacyPaymentStateToNew function return early when no reservation exists, which makes the logic much simpler * docs(proto): fix inaccurate cumulative_payment docstring * style(disperser_client): set reservationAdvanceWindow to 0 in convertLegacyPaymentStateToNew * fix(disp_client): convertLegacyPaymentStateToNew quorums setting logic * docs(proto): remove wrong cumulative_payment comment * style: remove unneeded comments * style: add comment explaining why append is ok * docs: move reservation_advance_window comment to proto
| Commit: | 5609dae | |
|---|---|---|
| Author: | Samuel Laferriere | |
docs(proto): fix inaccurate cumulative_payment docstring
| Commit: | 44e13c0 | |
|---|---|---|
| Author: | Samuel Laferriere | |
docs(proto): document why GetPaymentStateRequest is separate type from GetPaymentStateForAllQuorumsRequest
| Commit: | e2a0493 | |
|---|---|---|
| Author: | Samuel Laferriere | |
docs(proto): document GetPaymentStateReply fields also GetPaymentStateForAllQuorumsReply fields
| Commit: | 5fa94ea | |
|---|---|---|
| Author: | Samuel Laferriere | |
| Committer: | GitHub | |
docs: better proto BlobHeader.version documentation (#1644) * docs(proto): improve BlobHeader documentation * chore: make protoc
| Commit: | 58acdfd | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | GitHub | |
feat: protobuf payment state api quorum specific variant (#1613) * feat: protobuf payment state api quorum specific variant * chore: remove unrelevant changes * refactor: rename api * docs: payment state quorum specifications * docs: migration description * fix: quorum period records still needs an array * refactor: rename leftover functions * feat: cleanup protobuf field * chore: proto gen * refactor: rm empty lines and fix grammar * chore: proto gen * chore: rename api * refactor: deprecation feedback * refactor: deprecation feedback * refactor: proto doc feedback * refactor: proto doc feedback
| Commit: | 4854bd4 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
feat: cleanup protobuf field
| Commit: | dd2e3bf | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
fix: quorum period records still needs an array
| Commit: | 3ca3613 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: migration description
| Commit: | d7232f9 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: payment state quorum specifications
| Commit: | 2172312 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
refactor: rm empty lines and fix grammar
| Commit: | fedf69d | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
refactor: rename api
| Commit: | cd112f1 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
feat: protobuf payment state api quorum specific variant
| Commit: | 0cefc62 | |
|---|---|---|
| Author: | hopeyen | |
chore: rename api
| Commit: | 7193742 | |
|---|---|---|
| Author: | hopeyen | |
refactor: rm empty lines and fix grammar
| Commit: | 3d2fffa | |
|---|---|---|
| Author: | hopeyen | |
feat: cleanup protobuf field
| Commit: | bfd1abc | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
fix: quorum period records still needs an array
| Commit: | cef9b5c | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: payment state quorum specifications
| Commit: | f661429 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: migration description
| Commit: | 1f38d85 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
refactor: rename api
| Commit: | 95183cd | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
feat: protobuf payment state api quorum specific variant
| Commit: | 6618d05 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
fix: quorum period records still needs an array
| Commit: | ac6dcc4 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: payment state quorum specifications
| Commit: | 5d0ed07 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
docs: migration description
| Commit: | 0475deb | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
refactor: rename api
| Commit: | 87c2861 | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
feat: protobuf payment state api quorum specific variant
| Commit: | 7678e94 | |
|---|---|---|
| Author: | hopeyen | |
fix: quorum period records still needs an array
| Commit: | 0b8c183 | |
|---|---|---|
| Author: | hopeyen | |
docs: migration description
| Commit: | 9b09338 | |
|---|---|---|
| Author: | hopeyen | |
docs: payment state quorum specifications
| Commit: | e88f384 | |
|---|---|---|
| Author: | hopeyen | |
refactor: rename api
| Commit: | bfdfe8d | |
|---|---|---|
| Author: | hopeyen | |
| Committer: | hopeyen | |
feat: protobuf payment state api quorum specific variant
| Commit: | 018896d | |
|---|---|---|
| Author: | hopeyen | |
feat: quorum specific payment state types
| Commit: | 110d6b9 | |
|---|---|---|
| Author: | hopeyen | |
Merge branch 'master' into hope/payment-state-api