github Layr-Labs/eigenda v2.5.0-rc.2

pre-release7 hours ago

[Testnet] v2.5.0-rc.2 - Release Notes

  • Commit: 063230586884a4f4835e732ab1715b6903f848ec
  • Prior Release: v2.4.1
  • Prior Commit: 4942ab6ce15761b44b5ed46110c2d3439b009e81

This is an important but optional release for validators. This release adds new validator-side payment authorization. Validators who do not upgrade may be vulnerable to DOS attacks in the future when third party dispersers are onboarded.

Validators

Major Changes

  • feat: Implements dispersal request auth for multiple registered disperser keys in #2290
  • feat: Make new payments the default in #2262

Minor Changes

  • feat: better signing metrics in #2271
  • fix: bug with non-contiguous range requests in #2306
  • chore: refactor metric to use bytes instead of symbols in #2293
  • fix: enforce all padding in encoded payload be 0 in #2250
  • chore: Enable validator payment validation in inabox in #2255
  • fix: chunk deduplication in #2252
  • feat: convert chunk requests to use range query in #2231
  • feat: add easier way to override v2 TTL in #2305

Disperser

Major Changes

  • perf: 20x speedup on GPU ntt (used for chunk generation) in #2214

Minor Changes

  • feat: Implement stale dispersal check in #2299
  • feat: Implement API server dispersal time check in #2288
  • feat: new and improved ejector in #2210
  • feat: ejection transactor in #2242
  • feat: adds local key signing to controller as alternative to KMS in #2223
  • fix: Make global meter to use billable symbols in #2318
  • fix: Properly initialize payment metrics in #2314
  • feat: API for downloading part of an object from s3 in #2278
  • fix: Pass errors through when building gRPC errors in #2311
  • fix: Remove keys from blobSet after update to failure status in #2300
  • feat: Update reservation bucket sizes with verdict in #2303
  • feat: Use bytes instead of symbols for on-demand histogram in #2297
  • feat: docker image for ejector in #2296
  • fix: add nil G1Point check to prevent panic in signature aggregation in #2289
  • feat: Implement per-account payment metrics in #2294
  • fix: Configure stale dispersal boundary via CLI in #2292
  • feat: Drop stale blobs in encoding manager in #2279
  • fix: Fix incorrect error comparisons in #2282
  • fix: Check if unprocessed items are the correct type in #2283
  • fix: Fix inabox tests in #2284
  • fix: Keep time source instance within ReservationLedger in #2275
  • chore: refactor s3 clients in #2261
  • fix: Check dynamo table at startup to make sure it exists in #2272
  • fix: check if semaphore.acquire errors in #2274
  • refactor: Refactor icicle encoding to properly use streams in #2269
  • fix: Fix encoding benchmarks and add the benchmarks to CI in #2268
  • fix: gpu memory leak by freeing them in #2265
  • perf: remove unneeded equivalence check and use universal verification in #2264
  • refactor: Inject listener into API server constructor in #2256
  • perf: gpu semaphore to allow >1 concurrent gpu task in #2249
  • refactor: Inject listener into controller server in #2247
  • refactor: GetFrames takes []fr.Element instead of []byte in #2243
  • chore: delete old encoding/v2/bench/cmd/main.go file in #2244
  • refactor: Refactor disperser harness so that only SetupDisperserHarness modifies the harness in #2233
  • perf: optimize kzg multi-reveal by using smaller toeplitz matrix in #2238
  • chore: disable flaky tests in #2236
  • fix: multiframe msm bug in #2240
  • feat: Add more payment metrics in #2235
  • feat: Add API server to disperser harness in #2232
  • perf: 400ms speedup for multiproof generation in #2220
  • fix: flaky leaky bucket test in #2237
  • feat: Spin up encoder v2 as goroutines in inabox integration tests in #2102
  • fix: fixes deadlock in OCI FragmentedUploadObject and FragmentedDownloadObject in #2221
  • feat: adds object storage abstraction to support aws/oci storage backends in #2114
  • feat: Spin up controller as a goroutine in inabox integration tests in #2130
  • refactor: cleanup parametrized encoder constructor logic in #2213
  • fix: Missing context cancellation in #2126
  • fix: Missing default case in chunk encoding format switch in #2158
  • feat: Add DisableDisperser feature to InfrastructureHarness in #2206
  • chore: Add precommit hook for make lint and make fmt-check in #2208
  • fix: Missing length validation in security parameter verification loop in #2184
  • fix: backend initialization bug in #2205
  • refactor: pull encoder out of parametrizedProver in #2198
  • chore: commit encoding benchmarks for ec2 g6.xlarge (CPU) in #2203
  • refactor: Refactor payment authorization configuration in #2196
  • feat: Make sure only authorized dispersers can you on-demand payments in #2248
  • chore: fixes flaky TestFetchOperatorDispersalFeed test in #2199
  • fix: live tests in #2191
  • fix: Debug print statement in production code in #2185
  • refactor: cleanup gnark/icicle backend code in #2197
  • refactor: split fft into v1/v2 (exact copies for now) in #2193
  • refactor: split rs into v1/v2 (currently exact copies) in #2192
  • refactor: breakup kzg into v1/v2 separate pkgs in #2189
  • refactor: move verifier/prover v2 to encoding/v2 pkg in #2188
  • refactor: move committer to encoding/v2 in #2187
  • refactor: create kzgflags package in #2186
  • refactor: move encoding/utils/codec to encoding/codec in #2183
  • chore: Add logger to icicle setup + multiproof in #2181
  • fix: Division by zero vulnerability in payment system in #2157

Contracts

Major Changes

  • feat: Add recency window to cert verifier in #2270

Minor Changes

  • feat: Revert "feat(contracts): Add recency window to cert verifier (#2270)" in #2302
  • feat: integration-utils: cert verifier validation script in #2291
  • fix: remove unneeded check from recency and update doc in #2285
  • fix: simplify checkSecurityParams implementation to prevent divide-by-zero panic case in #2173
  • fix: Missing length validation for keccak commitment in #2162
  • feat: restrict cfg activation keys to only increase in #2167

Integrations

Minor Changes

  • feat: Arb CustomDA Failover Signal in #2307
  • feat: Support multi-serialization (ABI, RLP) in #2246
  • feat: incorporate custom da interface changes in #2146
  • feat: rust proving sdk for modular rollups in #2190
  • fix: Dynamic V2 protocol version byte encoding in #2308
  • feat: Update GetSupportedHeaderBytes() method in ARB Custom DA Server to reflect multi-provider changes in #2310
  • feat: hoodi e2e support in #2273
  • feat: Deserialize Error Fix && Sequencer Message Docs in ARB Custom DA Server in #2251
  • feat: bye bye holesky in #2245
  • fix: Fix dead error handling code in WaitForBlockNumber in #2257
  • chore: add error log to debug failed certVerifier ethcalls in #2258
  • fix: Add timeout to CheckDACert call in #2254
  • feat: Add CompatibilityConfig endpoints to proxy servers in #2219
  • fix: Fix blobapi-builder version/build info injection in #2253
  • feat: Remove pointless balance check in #2304
  • feat: Arb Commitment Type, invalid cert signal, && logging in #2218
  • feat: Add support for hoodi_testnet network in EigenDA proxy in #2202

Other

Minor Changes

  • chore: remove integration team specific code owners in #2298
  • docs: chunk assignment in #2215
  • docs: add write and read workflow documentation in #2276
  • chore: Update blobKey calculation documentation in #2234
  • docs: Add Sigma Prime secure integration audit report in #2260
  • chore: bump foundry in #2239
  • feat: add several utilities for interacting with onchain data in #2229
  • chore: Remove node codeowner in #2230
  • docs: relax encoded payload padding in #2226
  • docs: add recency window special case when 0 case to the spec in #2225
  • chore: Miscellaneous general comments in #2217
  • docs: Add Ethereum RPC failover note to proxy README in #2211
  • docs: document how length proofs work in #2171
  • feat: adds preprod-hoodi subgraph config in #2155

Don't miss a new eigenda release

NewReleases is sending notifications on new releases.