forked from Layr-Labs/eigenda-proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update to eigenda v1.6.3 #4
Merged
Merged
+3,945
−2,411
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fix Google URL check
* 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
We updated go.mod to use go1.22 recently, but forgot to update the ci workflows.
* 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: 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
Layr-Labs#190) * fix: fetch quorum parameters from edasm at RBN instead of latest block * docs: fix getQuorumAdversaryThreshold comment
… metric assertions (Layr-Labs#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
Layr-Labs#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
…yr-Labs#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 (Layr-Labs#153)" This reverts commit 15b10fd. 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 Layr-Labs/eigenda#849 which will fix our ci bug
…#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 * fix: prettyPrintConfig hide values before marshalling * docs: add comment for why we are hiding password when marshalling * fix(makefile): run-memstore-server command missing new mandatory flags * fix: prettyPrintConfig was hiding wrong field. Change RPC->EthRpcUrl * refactor: way redis/s3 hides config details (use custom marshalling function) --------- Co-authored-by: Samuel Laferriere <[email protected]>
…ayr-Labs#201) * refactor: rename client -> SimpleCommitmentClient and add comments * style: rename client/client.go -> client/simple.go
…cs middlewares (Layr-Labs#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
…r-Labs#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.10.0 * chore: downgrade to v1.9.5 + fix optimism tests
* docs: update README with failover info * docs(README): add link to arb failover spec * docs(README): add "Service Unavailable" description for 503 status code
…bs#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
* 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 (Layr-Labs#210) --------- Co-authored-by: Ethen <[email protected]>
fix: copy client/go.mod to builder
* Create dependabot.yml * Update dependabot.yml * Update dependabot.yml * Update .github/dependabot.yml
* Fix single node tree bug * Clarify method doc Signed-off-by: litt3 <[email protected]> * Add link to on chain method Signed-off-by: litt3 <[email protected]> --------- Signed-off-by: litt3 <[email protected]>
…es (Layr-Labs#223) * make memstore return data_lenght in number of symbols * fix lint * lint
…abs#225) * docs: fix readme test documentation, and add comments describing tests to makefile Signed-off-by: litt3 <[email protected]> * Add missed period Signed-off-by: litt3 <[email protected]> * Add additional explanation of e2e tests Signed-off-by: litt3 <[email protected]> --------- Signed-off-by: litt3 <[email protected]>
…st bodies (Layr-Labs#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 * fix(sigmap-EDAP-04): Miscellaneous General Comments - address PR feedback
…uests (Layr-Labs#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
Layr-Labs#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
* adding audit report * Create SECURITY.md * removing from root * fixing repo name --------- Co-authored-by: anupsv <[email protected]>
…t service manager (Layr-Labs#254)
* chore: force verifier's EthConfirmationDepth to be <64 We panic in the flag's action, as well as in the verifier's constructor when this condition is not respected. This will make sure that an archival node is not required. * chore: modify verifier to load quorum parameters only once at initialization This removes the need for running with an eth archive node. * style: fix minor lint issue * docs: update README to mention that archival node is no longer needed * docs: clean-up README archival node requirement explanation * docs: fix verify/cert.go comment typo Co-authored-by: Ethen <[email protected]> * docs: for eg -> e.g. * style(cert): remove unecessary bound checks from inside loop * style: create consts package with EthHappyPathFinalizationDepthBlocks = 64 * style: change panic into error return * docs: change op reference for eth reference * docs: make flag comment simpler * Update verify/cert.go Co-authored-by: EthenNotEthan <[email protected]> --------- Co-authored-by: Ethen <[email protected]>
* 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
* Avoid quorum 1 check on range of Holesky blocks * Improve SVC address check * Update verify/verifier.go Co-authored-by: Samuel Laferriere <[email protected]> * Update verify/verifier.go Co-authored-by: Samuel Laferriere <[email protected]> * Avoid unnecessary cast * Rename constant * Fix lint --------- Co-authored-by: Samuel Laferriere <[email protected]>
pandainzoo
approved these changes
Feb 8, 2025
danielpenglinlin
approved these changes
Feb 8, 2025
byteflyfunny
approved these changes
Feb 8, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes Issue
Fixes #
Changes proposed
Screenshots (Optional)
Note to reviewers