Skip to content

Conversation

@pmikolajczyk41
Copy link
Member

@pmikolajczyk41 pmikolajczyk41 commented Nov 3, 2025

We extend (Arbitrum) chain config with a new field describing limit on the uncompressed batch size (previously hardcoded to 16MB).

Note

Design decision: Instead of propagating individual limit values as bare integers between components, we pass the entire params.ChainConfig struct. This architectural decision is crucial for maintaining chain configuration integrity. By requiring access to the specific limit field only via the full parameters object, we explicitly guarantee that the value used is always sourced directly from the authoritative chain configuration. This mitigates the risk of developers accidentally (or intentionally) passing arbitrary values that are incompatible with the chain's agreed-upon settings.

This limit value is used in two places:

  1. Batch posting: we use it to know when to stop appending data to the batch. This PR extends BatchPosterOpts and BatchPoster structs.
  2. Inbox reading: we use it to allocate enough space before decompressing sequencer message. This PR adds a new argument to the ParseSequencerMessage.

Related changes:

  • extend configs in arbitrum_chain_info.json‎ with the default value of 16MB
  • use ArbitrumDevTestChainConfig in inbox fuzzing tests
  • adapt function signatures for MEL
  • extend MessageExtractor with chain params (I preferred to do this instead of extending MEL state as suggested in the Linear ticket)

companion PR: OffchainLabs/go-ethereum#571
solves NIT-3121

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

✅ All tests successful. No failed tests were found.

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

Copy link
Member

@Tristan-Wilson Tristan-Wilson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR looks good but I had a comment on the geth PR which will probably change this one due to how to access the new decompression limit setting, so marking request changes.

Tristan-Wilson
Tristan-Wilson previously approved these changes Nov 12, 2025
Copy link
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry for the long delay. generally seems great

@tsahee tsahee assigned pmikolajczyk41 and unassigned tsahee Dec 9, 2025
tsahee
tsahee previously approved these changes Dec 10, 2025
Copy link
Contributor

@tsahee tsahee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants