Skip to content

[Counting] Reviewing the counting for the L2 to L1 logs #1863

@AlexandreBelling

Description

@AlexandreBelling

We recently found an issue in the counting logic for the L2L1 logs. It was invisible because the L2L1 logs are quite sparse. In the prover, we have a hard limit on how many L2L1 logs can happen at once in one conflated batch. The issue is about reviewing how this limit is taken into account by the conflator and the sequencer to ensure it is correctly enforced.

Definition

L2L1Logs counts the numbers logs happening in a conflated execution batch, such that:

  • The topic[0] is the keccak-hash of the event signature MessageSent(address,address,uint256,uint256,uint256,bytes,bytes32) which is equal to 0xe856c2b8bd4eb0027ce32eeaf595c21b0b6b4644b326e5b7bd80a1cf8db72e6c
  • The emitting address is the L2-bridge contract address. (0x971e727e956690b9957be6d51Ec16E73AcAC83A7 on sepolia)

Expected behaviour

  • The sequencer should count the events satisfying the two above conditions and ensure it does not seal a block overflowing this limit.
  • The conflator should ensure it does not create conflated execution batches that are overflowing the limit.

Metadata

Metadata

Labels

P1Very High (ex: Security issues, unplanned backward incompatibility preventing network participation)bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions