github Layr-Labs/eigenda-proxy v1.5.0

one month ago

Summary

This release is optional but recommended.

The release also contains breaking changes on the ENVs and flag initialization when starting the binary, please refer to the table at the end for the mapping from the old to the new flags and ENV. This release also affects the existing way to run a docker container, please see the section at the end for instruction.

Notable changes

Revamp Flags

  • Flags now are categorized and ENVs comply with standard prefixes

  • Using old flags will prompt with an error message pointing out the new ENV name

  • Making DA cert verification enabled by default

Container initialization

  • Update command line to run eigenda-proxy with docker

Feature

  • Add Redis backend option for both S3 cache or fallback
  • Add metrics to EigenDA proxy for GET and PUT

Bug fixes

  • Fix issues with Google Cloud Storage
  • Simplify logics for waiting for batch finalization

Instruction to run docker container

Before the 1.5.0 release docker run eigenda-proxy:latest ./eigenda-proxy
After the 1.5.0 release docker run eigenda-proxy:latest

Flags and ENV mapping

If any old flag is supplied, the binary will break loudly and print the updated ENV name, for example,
lvl=crit msg="Application failed" message="env var MEMSTORE_EXPIRATION is deprecated for flag memstore.expiration, use EIGENDA_PROXY_MEMSTORE_EXPIRATION instead"

Old flag (1.4.1) old env new flag new env
--eigenda-cache-path EIGENDA_PROXY_TARGET_CACHE_PATH --eigenda.cache-path EIGENDA_PROXY_EIGENDA_TARGET_CACHE_PATH
--eigenda-custom-quorum-ids EIGENDA_PROXY_CUSTOM_QUORUM_IDS --eigenda.custom-quorum-ids EIGENDA_PROXY_EIGENDA_CUSTOM_QUORUM_IDS
--eigenda-disable-point-verification-mode EIGENDA_PROXY_DISABLE_POINT_VERIFICATION_MODE --eigenda.disable-point-verification-mode EIGENDA_PROXY_EIGENDA_DISABLE_POINT_VERIFICATION_MODE
--eigenda-disable-tls EIGENDA_PROXY_GRPC_DISABLE_TLS --eigenda.disable-tls EIGENDA_PROXY_EIGENDA_GRPC_DISABLE_TLS
--eigenda-disperser-rpc EIGENDA_PROXY_EIGENDA_DISPERSER_RPC --eigenda.disperser-rpc EIGENDA_PROXY_EIGENDA_DISPERSER_RPC
--eigenda-put-blob-encoding-version EIGENDA_PROXY_PUT_BLOB_ENCODING_VERSION --eigenda.put-blob-encoding-version EIGENDA_PROXY_EIGENDA_PUT_BLOB_ENCODING_VERSION
--eigenda-response-timeout EIGENDA_PROXY_RESPONSE_TIMEOUT --eigenda.response-timeout EIGENDA_PROXY_EIGENDA_RESPONSE_TIMEOUT
--eigenda-signer-private-key-hex EIGENDA_PROXY_SIGNER_PRIVATE_KEY_HEX --eigenda.signer-private-key-hex EIGENDA_PROXY_EIGENDA_SIGNER_PRIVATE_KEY_HEX
--eigenda-status-query-retry-interval EIGENDA_PROXY_STATUS_QUERY_INTERVAL --eigenda.status-query-retry-interval EIGENDA_PROXY_EIGENDA_STATUS_QUERY_INTERVAL
--eigenda-status-query-timeout EIGENDA_PROXY_STATUS_QUERY_TIMEOUT --eigenda.status-query-timeout EIGENDA_PROXY_EIGENDA_STATUS_QUERY_TIMEOUT
--eigenda-eth-confirmation-depth EIGENDA_PROXY_ETH_CONFIRMATION_DEPTH --eigenda.eth-confirmation-depth EIGENDA_PROXY_EIGENDA_ETH_CONFIRMATION_DEPTH
--eigenda-eth-rpc EIGENDA_PROXY_ETH_RPC --eigenda.eth-rpc EIGENDA_PROXY_EIGENDA_ETH_RPC
--eigenda-g1-path EIGENDA_PROXY_TARGET_KZG_G1_PATH --eigenda.g1-path EIGENDA_PROXY_EIGENDA_TARGET_KZG_G1_PATH
--eigenda-g2-tau-path EIGENDA_PROXY_TARGET_G2_TAU_PATH --eigenda.g2-power-of-2-path EIGENDA_PROXY_EIGENDA_TARGET_KZG_G2_POWER_OF_2_PATH
--eigenda-max-blob-length EIGENDA_PROXY_MAX_BLOB_LENGTH --eigenda.max-blob-length EIGENDA_PROXY_EIGENDA_MAX_BLOB_LENGTH
--eigenda-svc-manager-addr EIGENDA_PROXY_SERVICE_MANAGER_ADDR --eigenda.svc-manager-addr EIGENDA_PROXY_EIGENDA_SERVICE_MANAGER_ADDR
--memstore.enabled MEMSTORE_ENABLED --memstore.enabled EIGENDA_PROXY_MEMSTORE_ENABLED
--memstore.expiration MEMSTORE_EXPIRATION --memstore.expiration EIGENDA_PROXY_MEMSTORE_EXPIRATION

What's Changed

  • Feat memstore artificial latency by @samlaf in #114
  • chore: rename memstore eventLoop -> pruningLoop by @samlaf in #117
  • BREAKING suggestion: change dockerfile to use entrypoint instead of cmd by @samlaf in #116
  • Chore give docker image fullname by @samlaf in #119
  • feat: Redis backend target by @epociask in #111
  • Update Makefile: add disperse-test-blob by @samlaf in #115
  • chore(breaking): add EIGENDA_PROXY prefix to memstore flags by @samlaf in #121
  • fix: wrap crit entrypoint error for easier debugging by @samlaf in #122
  • fix: negative confDepth bug in verifier by @samlaf in #131
  • fix: request record label with commitment mode and version by @hopeyen in #109
  • chore: bunch of small refactors for improved devex by @samlaf in #124
  • Fix s3 panic from keccak commitment put requests by @samlaf in #129
  • dep: update eigenda to latest version for latest eigenda-client logging behavior by @samlaf in #132
  • Fix metric middleware panic by @samlaf in #133
  • fix: HandlePut uses hardcoded default version by @hopeyen in #135
  • chore: remove unused tls logic by @samlaf in #139
  • Eigenda client subsystem logger by @samlaf in #136
  • initial set of edge cases by @anupsv in #110
  • fix: custom error wrapped around error and commitment meta by @hopeyen in #134
  • fix: Return 400 when blobs exceed max limit by @epociask in #140
  • Fix config checker logic by @samlaf in #138
  • show response commitment by @bxue-l2 in #144
  • rename commitment mode by @bxue-l2 in #151
  • ci: give holesky-test workflow access to secrets via pull_request_target by @samlaf in #153
  • Update Optimism dependency to OP-Stack 1.9.2 by @karlb in #150
  • refactor: clean up flags and configs by @samlaf in #146
  • feat: update eigenda latest release v0.8.4 by @samlaf in #158
  • fix: verifier srs flags paths by @samlaf in #159
  • fix: import and expose the verifier flags by @samlaf in #161
  • fix: don't allow to configure fallback or cache with nil Redis|S3 ins… by @mcortesi in #155
  • Added --s3.enable-tls flag by @jcortejoso in #148
  • chore: Don't return commitment for OP Keccak256 mode on PUT requests by @epociask in #147
  • chore: add deprecated flags to force early crash when used by @samlaf in #165
  • update readme and template by @bxue-l2 in #170
  • hide eth rpc, format hidden string by @bxue-l2 in #171
  • docs: better usage docs for signer-private-key flag by @samlaf in #174
  • Disable chunk encoding for put requests to Google Cloud Storage by @jcortejoso in #167
  • fix env variable in docker compose by @bxue-l2 in #180

New Contributors

Full Changelog: v1.4.1...v1.5.0

Don't miss a new eigenda-proxy release

NewReleases is sending notifications on new releases.