Skip to content

Make message extractor able to pick up MEL config upgrade events#4612

Closed
ganeshvanahalli wants to merge 14 commits into
masterfrom
implement-reading-melconfig
Closed

Make message extractor able to pick up MEL config upgrade events#4612
ganeshvanahalli wants to merge 14 commits into
masterfrom
implement-reading-melconfig

Conversation

@ganeshvanahalli
Copy link
Copy Markdown
Contributor

@ganeshvanahalli ganeshvanahalli commented Apr 8, 2026

This PR adds the code for MEL to read MEL config upgrade events from the rollup contract, and adds logic for activating MEL consensus for the first time.

Pulls in contracts PR- OffchainLabs/nitro-contracts#424
Resolves NIT-4779
Resolves NIT-4720

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 8, 2026

Codecov Report

❌ Patch coverage is 52.70270% with 35 lines in your changes missing coverage. Please review.
✅ Project coverage is 16.34%. Comparing base (c6ca5f3) to head (2e6abe1).
⚠️ Report is 114 commits behind head on node-transition-to-mel.

❗ There is a different number of reports uploaded between BASE (c6ca5f3) and HEAD (2e6abe1). Click for more details.

HEAD has 3 uploads less than BASE
Flag BASE (c6ca5f3) HEAD (2e6abe1)
5 2
Additional details and impacted files
@@                     Coverage Diff                     @@
##           node-transition-to-mel    #4612       +/-   ##
===========================================================
- Coverage                   34.41%   16.34%   -18.08%     
===========================================================
  Files                         495      497        +2     
  Lines                       59166    59346      +180     
===========================================================
- Hits                        20363     9698    -10665     
- Misses                      35209    47832    +12623     
+ Partials                     3594     1816     -1778     

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 8, 2026

Codecov Report

❌ Patch coverage is 76.13636% with 21 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.25%. Comparing base (93ee4c6) to head (4ae39ca).
⚠️ Report is 78 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4612      +/-   ##
==========================================
+ Coverage   48.81%   57.25%   +8.44%     
==========================================
  Files         501      502       +1     
  Lines       73515    73600      +85     
==========================================
+ Hits        35887    42143    +6256     
+ Misses      32641    26145    -6496     
- Partials     4987     5312     +325     

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 8, 2026

❌ 3 Tests Failed:

Tests completed Failed Passed Skipped
5031 3 5028 0
View the top 3 failed tests by shortest run time
TestInboxReaderBlobFailureWithDelayedMessage
Stack Traces | 4.560s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
DEBUG[04-22|15:17:43.008] Journaled pathdb diff layer              root=32c5b9..6152e9 parent=ed001e..59db85 id=61                 block=60
DEBUG[04-22|15:17:43.008] Served eth_getBalance                    reqid=2615 duration="52.919µs"
INFO [04-22|15:17:43.008] Persisted dirty state to disk            size=266.00KiB elapsed=2.954ms
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=2615 duration="1.613µs"
DEBUG[04-22|15:17:43.008] Served eth_blockNumber                   reqid=2616 duration="11.422µs"
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=2616 duration=571ns
DEBUG[04-22|15:17:43.008] Executing EVM call finished              runtime="653.926µs"
DEBUG[04-22|15:17:43.008] Served eth_call                          reqid=1726 duration="841.789µs"
DEBUG[04-22|15:17:43.008] Served eth_getTransactionCount           reqid=2617 duration="39.465µs"
INFO [04-22|15:17:43.008] Blockchain stopped
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=2617 duration="1.212µs"
TRACE[04-22|15:17:43.008] P2P networking is spinning down
DEBUG[04-22|15:17:43.008] Served eth_getTransactionCount           reqid=2618 duration="38.232µs"
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=1726 duration="1.583µs"
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=2618 duration="1.072µs"
DEBUG[04-22|15:17:43.008] Served eth_blockNumber                   reqid=1727 duration="14.227µs"
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=1727 duration="1.022µs"
DEBUG[04-22|15:17:43.008] Served eth_unsubscribe                   reqid=1728 duration="16.911µs"
TRACE[04-22|15:17:43.008] Handled RPC response                     reqid=1728 duration="1.463µs"
--- FAIL: TestInboxReaderBlobFailureWithDelayedMessage (4.56s)
TestMELMigrationFromLegacyNode
Stack Traces | 11.690s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
INFO [04-22|15:14:54.238] Stopping work on payload                 id=0x034b4e8124816f92 reason=delivery
INFO [04-22|15:14:54.246] Updated payload                          id=0x0363ab2b637070d5 number=418 hash=1f7542..e089f9 txs=1  withdrawals=0 gas=142,154    fees=7.1077e-06     root=d4ec64..2fd178 elapsed=9.846ms
INFO [04-22|15:14:54.255] Stopping work on payload                 id=0x0363ab2b637070d5 reason=delivery
INFO [04-22|15:14:54.259] Imported new potential chain segment     number=111 hash=215ffa..5e26df blocks=1  txs=1  mgas=0.150  elapsed=27.269ms     mgasps=5.493    triediffs=757.37KiB  triedirty=0.00B
INFO [04-22|15:14:54.259] Chain head was updated                   number=111 hash=215ffa..5e26df root=4f03cf..c7d04e elapsed="157.173µs"
INFO [04-22|15:14:54.259] Submitted transaction                    hash=0xc66f613dad2a0514a5a4f95559febf9c417912b61bc0241911303405a8cca5c0 from=0x26E554a8acF9003b83495c7f45F06edCB803d4e3 nonce=504  recipient=0x0C709F340F0BB2e361229e345B7e26999d0969Ab value=1
INFO [04-22|15:14:54.262] Imported new potential chain segment     number=418 hash=1f7542..e089f9 blocks=1  txs=1  mgas=0.142  elapsed=16.374ms     mgasps=8.682    triediffs=1.27MiB    triedirty=296.75KiB
INFO [04-22|15:14:54.263] Submitted contract creation              hash=0xe319d8ac2c41a6546d8c2eccf67db9f6b590a695bdf581865aa2b9cb9f52e025 from=0x26E554a8acF9003b83495c7f45F06edCB803d4e3 nonce=9    contract=0xc0483ac353250eb8c98d7565F5e343df6cfcA441 value=0
INFO [04-22|15:14:54.263] Chain head was updated                   number=418 hash=1f7542..e089f9 root=d4ec64..2fd178 elapsed="135.773µs"
INFO [04-22|15:14:54.266] Submitted transaction                    hash=0x014cfc4384db6d8c2fa6977555078be8bf4ff54e7cb2eabc51cbfe7dd003e61d from=0xb386a74Dcab67b66F8AC07B4f08365d37495Dd23 nonce=4    recipient=0x2e78C674bc63A430CAF6Ecc890B59e34C6B10500 value=0
INFO [04-22|15:14:54.266] DataPoster sent transaction              nonce=4    hash=014cfc..03e61d feeCap=26,578,189,700 tipCap=50,000,000    blobFeeCap=<nil> gas=188,821
INFO [04-22|15:14:54.267] BatchPoster: batch sent                  sequenceNumber=5   from=7    to=8    prevDelayed=1   currentDelayed=1   totalSegments=3  numBlobs=0
INFO [04-22|15:14:54.269] Starting work on payload                 id=0x032f6b8cf7cfc8b4
INFO [04-22|15:14:54.274] Ethereum protocol stopped
INFO [04-22|15:14:54.274] Transaction pool stopped
INFO [04-22|15:14:54.274] Persisting dirty state                   head=67  root=2144c6..ad29ba layers=67
INFO [04-22|15:14:54.278] Updated payload                          id=0x032f6b8cf7cfc8b4 number=32  hash=25f5b2..b3a5a2 txs=1  withdrawals=0 gas=176,255    fees=8.81275e-06    root=94eb22..9e16ff elapsed=9.121ms
INFO [04-22|15:14:54.279] Persisted dirty state to disk            size=298.36KiB elapsed=4.547ms
INFO [04-22|15:14:54.279] Blockchain stopped
--- FAIL: TestMELMigrationFromLegacyNode (11.69s)
TestParentChainEthConfigForkTransition
Stack Traces | 36.650s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
WARN [04-22|15:15:55.943] P2P server will be useless, neither dialing nor listening
WARN [04-22|15:15:55.945] Getting file info                        dir= error="stat : no such file or directory"
    parent_chain_config_test.go:183: blob config did not transition to BPO1: got target=6 max=9, want target=10 max=15
INFO [04-22|15:16:26.047] Imported new potential chain segment     number=62   hash=42027f..09a106 blocks=1  txs=1  mgas=0.021  elapsed=1.705ms      mgasps=12.310   triediffs=294.27KiB  triedirty=0.00B
--- FAIL: TestParentChainEthConfigForkTransition (36.65s)
INFO [04-22|15:16:26.403] Stopping work on payload                 id=0x03435c6a829eb05d reason=delivery
INFO [04-22|15:16:26.404] Stopping work on payload                 id=0x030d5a10e210bdd8 reason=delivery
INFO [04-22|15:16:26.404] Imported new potential chain segment     number=260  hash=161012..16287f blocks=1  txs=1  mgas=0.021  elapsed=1.735ms      mgasps=12.098   triediffs=756.82KiB  triedirty=116.20KiB
INFO [04-22|15:16:26.405] Chain head was updated                   number=260  hash=161012..16287f root=b040e2..d6c4d7 elapsed="70.632µs"
INFO [04-22|15:16:26.406] Imported new potential chain segment     number=24   hash=e8e167..953ce0 blocks=1  txs=1  mgas=5.314  elapsed=29.576ms     mgasps=179.683  triediffs=88.86KiB   triedirty=0.00B
INFO [04-22|15:16:26.406] Starting work on payload                 id=0x03f415e98902459b
INFO [04-22|15:16:26.407] Chain head was updated                   number=24   hash=e8e167..953ce0 root=aee35d..849153 elapsed="529.435µs"
INFO [04-22|15:16:26.407] Updated payload                          id=0x03f415e98902459b number=261  hash=74a1fd..3de4db txs=0  withdrawals=0 gas=0          fees=0              root=f53184..711d9b elapsed="641.124µs"
INFO [04-22|15:16:26.407] Stopping work on payload                 id=0x03f415e98902459b reason=delivery
INFO [04-22|15:16:26.408] Imported new potential chain segment     number=139  hash=230f26..a3e512 blocks=1  txs=1  mgas=0.142  elapsed=7.323ms      mgasps=19.398   triediffs=670.66KiB  triedirty=9.95KiB
INFO [04-22|15:16:26.409] Imported new potential chain segment     number=261  hash=74a1fd..3de4db blocks=1  txs=0  mgas=0.000  elapsed=1.391ms      mgasps=0.000    triediffs=756.43KiB  triedirty=116.60KiB
INFO [04-22|15:16:26.409] Chain head was updated                   number=139  hash=230f26..a3e512 root=760419..89bfb2 elapsed="125.954µs"
INFO [04-22|15:16:26.409] Chain head was updated                   number=261  hash=74a1fd..3de4db root=f53184..711d9b elapsed="52.036µs"
WARN [04-22|15:16:26.413] Served eth_sendRawTransactionConditional reqid=517   duration=11.924424ms   err="BlockNumberMin condition not met"
WARN [04-22|15:16:26.415] error applying transaction               tx="{\"type\":\"0x2\",\"chainId\":\"0x64aba\",\"nonce\":\"0x10e\",\"to\":\"0x0c709f340f0bb2e361229e345b7e26999d0969ab\",\"gas\":\"0x7a1200\",\"gasPrice\":\"0x0\",\"maxPriorityFeePerGas\":\"0xbebc200\",\"maxFeePerGas\":\"0xbebc200\",\"value\":\"0xe8d4a51000\",\"input\":\"0x\",\"accessList\":[],\"v\":\"0x0\",\"r\":\"0xdf4963485a7283d0654d893448fa218303e41e959f161d1347a0a56d6b98c0e4\",\"s\":\"0x4f968ee6eb6659dabed2006229e9299f053ccd70551e95a1d8a231a1ec627bb9\",\"yParity\":\"0x0\",\"hash\":\"0x2712e5c45d81800feae08d549320a6c995bc9c0e3d3f7eb5b306a8455ff58d59\"}" err="TimestampMax condition not met"

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

@ganeshvanahalli ganeshvanahalli marked this pull request as ready for review April 10, 2026 12:27
Base automatically changed from node-transition-to-mel to master April 14, 2026 19:50
@ganeshvanahalli
Copy link
Copy Markdown
Contributor Author

Changes merged into #4643

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant