Overview
The Darwin upgrade introduces a new concept bundle: a list of batches finalized with a single aggregated proof.
Main changes:
- Introduce
BatchHeaderV3Codec
with 2 new fields added (lastBlockTimestamp
,blobDataProof
) and one field removed (skippedL1MessageBitmap
). - Process messages in
L1MessageQueue
during commit step (previously done during the finalize step). - Introduce a new on-chain verifier public input format in
IZkEvmVerifierV2
, and adopt it inMultipleVersionRollupVerifier
. - In
ScrollChain
, introduce two new methodscommitBatchWithBlobProof
andfinalizeBundleWithProof
to handle V3 batches and bundles.
The circuit and contract changes have been audited by Trail of Bits.
Compatibility
- Dapps and indexers that decode on-chain batch header data should use the new codec and function signature.
- Dapps and indexers that track finalization status should ensure that they correctly interpret the emitted
FinalizeBatch
event as "all batches have been finalized up to and including this batch index".
What's Changed
- feat: cleanup files by @zimpha in #1
- feat: add github workflow by @zimpha in #2
- feat: import change from scroll-tech/scroll#1372 by @zimpha in #3
- feat: v3 codec by @zimpha in #4
Full Changelog: https://github.com/scroll-tech/scroll-contracts/commits/v1.0.0