-
Notifications
You must be signed in to change notification settings - Fork 686
[NIT-3121] Make uncompressed batch size limit configurable #3947
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[NIT-3121] Make uncompressed batch size limit configurable #3947
Conversation
|
✅ All tests successful. No failed tests were found. 📣 Thoughts on this report? Let Codecov know! | Powered by Codecov |
Tristan-Wilson
left a comment
There was a problem hiding this 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.
…-uncompressed-batch-size-limit
tsahee
left a comment
There was a problem hiding this 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
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…-uncompressed-batch-size-limit
…-uncompressed-batch-size-limit
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.ChainConfigstruct. 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:
BatchPosterOptsandBatchPosterstructs.ParseSequencerMessage.Related changes:
arbitrum_chain_info.jsonwith the default value of 16MBArbitrumDevTestChainConfigin inbox fuzzing testsMessageExtractorwith 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