-
Notifications
You must be signed in to change notification settings - Fork 70
Labels
contractsContracts updateContracts update
Description
Background
When both the submitter and sequencer stop working or fail to submit batches containing L1 messages for an extended period, users should be able to submit batches and withdraw their assets independently. The Rollup contract needs to add a delay check mechanism: when the submitter has not performed rollup for an extended period, or L1 messages have not been finalized for an extended period, anyone should be allowed to submit batches accompanied by ZK proofs.
Current Logic:
- When the sequencer refuses to execute a specific L1 message, the resulting batch will not trigger a challenge. The generated ZK proof can still be verified normally.
- Batch submission is sequential, with a batch index continuity check enforced.
Conditions for CommitBatchWithProof Execution:
- Batches submitted with ZK proofs must also maintain batch index continuity.
- The submitter has failed to complete batch submission within the rollupDelayPeriod, or there are pending L1 messages that have not been finalized within the rollupDelayPeriod.
- Once submitted, the batch will be verified by the ZK proof and its finalizeTimestamp will be set to the current block timestamp. This prevents challenges and ensures the batch can be finalized immediately when the time comes.
- There may be a scenario where the submitter has not performed rollup for a period, but previous batches have not yet been finalized. In this case, if a previous batch is successfully challenged, this batch should also be reverted.
Reference
https://larkfive.sg.larksuite.com/wiki/EAswwYC2Citx02k9yMilcIqtgmf?fromScene=spaceOverview
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
contractsContracts updateContracts update