docs(dev): Rex5 KeylessDeploy gas billing and SequencerRegistry note#53
Conversation
| | --------------------- | ----------------------------------------------- | ---------------------------------------------------------------- | | ||
| | Dispatch overhead | 100,000 compute gas | Always — retained even if the deployment is rejected | | ||
| | Sandbox gas | Exact gas used by the re-executed deployment | On every completed deployment attempt, success or failure | | ||
| | Signer materialization | New-account storage gas for the inner signer | Only if the signer account does not exist yet (first attempt) | |
There was a problem hiding this comment.
The (first attempt) parenthetical is ambiguous — it could be read as "first of several retries" rather than "first time this signer address is ever materialized." Consider dropping it since the "does not exist yet" condition is already self-explanatory, or replace with a cleaner qualifier:
| | Signer materialization | New-account storage gas for the inner signer | Only if the signer account does not exist yet (first attempt) | | |
| | Signer materialization | New-account storage gas for the inner signer | Only if the signer account does not exist yet (one-time per signer address) | |
There was a problem hiding this comment.
Addressed in cc415d9 — replaced "(first attempt)" with "(one-time per signer address)".
ReviewGood PR — well-scoped Rex5 documentation update with accurate spec cross-references. Conventions are followed throughout. Checklist
Notes
One minor clarity suggestion left as an inline comment on the billing table. |
|
Changes look correct and well-structured. One open inline thread remains unresolved — the |
ReviewLGTM with one minor note. The prior thread on signer materialization wording (PRRT_kwDOODfgX86Iq6Ns) was addressed — the current text uses the suggested What looks good:
One nit: |
| MegaETH also runs protocol-facing system contracts that dapp code does not normally call. | ||
| The _SequencerRegistry_ (`0x6342000000000000000000000000000000000006`, introduced in Rex5) tracks the system address (Oracle and system-transaction authority) and the sequencer (mini-block signing key). | ||
| For the formal specification, see [SequencerRegistry (spec)](https://docs.megaeth.com/spec/system-contracts/sequencer-registry). | ||
|
|
There was a problem hiding this comment.
why is this new SequencerRegistry system contract not put in the table?
There was a problem hiding this comment.
@mega-putin why is this new SequencerRegistry system contract not put in the table?
|
Good catch. |
Generated-by: engineer-agent
|
Both prior thread issues are resolved: SequencerRegistry is in the table, and the "(one-time per signer address)" wording is in place. The new content is clean:
LGTM. |
|
Thanks — glad this looks good now. |
Summary
Addresses the remaining items from the doc-audit (the Rex4 → Rex5 staleness in
overview.mdwas already fixed onmain):GASPRICE == 0inside the constructor,gasLimitOverridecapped to the outer call's remaining gas, and sandbox resource usage counting toward the outer transaction's resource limits.docs/AGENTS.md.Verified against
mega-evmorigin/main:docs/spec/upgrades/rex5.md(§23 outer EVM gas debit),docs/spec/system-contracts/keyless-deploy.md,docs/spec/system-contracts/sequencer-registry.md, andcrates/mega-evm/src/sandbox/execution.rs.Test plan
This PR was generated by an automated agent.