Summary
This upgrade is mandatory for operators that need to interact with churner (to opt into new quorums). This upgrade is highly recommended for all operators otherwise.
This release includes a major change to the way the input blob data is interpreted. It also includes several new features and security improvements noted below.
Notable features that directly affect users are:
- Rollups - 32 byte symbol size: The dispersal interface is updated to be compatible with opening points on the smart contract, in the same way as 4844 on Ethereum. The new interface requires every 32 bytes of the data be smaller than a big integer less than the field element of bn254 curve. Please refer to the rollup guide on the EigenDA document page for more details.
- Operators: New cli command
list-quorums
is available. Use this command to list the quorums the node is opted in.
Other changes:
- Updates on serialization methods for G1/G2 points: Use gnark format for serialization and deserialization of elliptic curve point for communication between the disperser and operators, and between the churner and operators
- Several security related fixes
- Updates and fixes to logging/metrics
- Adds contract addresses for mainnet deployment, supports one quorum only
- An utility codec to convert any bytes to an array of bytes satisfying the new interface
What's Changed
- Account the invalid requests in disperser metrics by @jianoaix in #411
- don't count metadata not found as internal error by @mooselumph in #418
- add tools by @bxue-l2 in #352
- Fix: index of bounds panics by @jianoaix in #417
- Add invalid arg metrics by @mooselumph in #419
- Add child logger & remove method names from log messages by @ian-shim in #412
- Update accounting logic for total encoded blob size by @ian-shim in #421
- Measure attestation latency by @ian-shim in #424
- [DataAPI] Implement metric for Disperser and Churner Service Availability by @siddimore in #405
- RPC requests accounting by @jianoaix in #426
- [Batcher] Reset Timer instead of stopping function by @siddimore in #429
- Additional protobuf nil checks by @mooselumph in #427
- Mark blobs as insufficient signatures if batch aborted due to no sign… by @mooselumph in #431
- Distinguish between system and account ratelimit in metrics by @mooselumph in #430
- Update metrics not to double count blob failures by @ian-shim in #434
- Use histogram for dispersal e2e latency by @jianoaix in #433
- add checks on curve, and serialize using gnark by @bxue-l2 in #422
- Retry SendTransaction on context deadline exceeded error by @ian-shim in #432
- eigenda only accepts 32 bytes less than field modulo by @bxue-l2 in #428
- [fix] remove space from op type by @shrimalmadhur in #439
- [Encoder][Node] Add nil checks by @siddimore in #425
- Update semver 0.6.0 by @ian-shim in #441
Full Changelog: v0.5.2...v0.6.0