Repository navigation
Re-enable Autobahn interop and recovery tests on the EVM-only chain - #4353
Conversation
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4353 +/- ##
==========================================
- Coverage 67.80% 66.69% -1.12%
==========================================
Files 2177 2055 -122
Lines 169116 156859 -12257
==========================================
- Hits 114668 104612 -10056
+ Misses 54439 52238 -2201
Partials 9 9
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
PR SummaryLow Risk Overview Hardhat shared setup no longer blocks EVM-only runs: Reviewed by Cursor Bugbot for commit 30ed1a5. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
This PR is clean and has no findings. It turns the Autobahn EVM Interoperability (Misc Tests) row back on and un-skips Recovery. It also skips the Sei address lookup on the EVM-only chain and in SeiSoloTest, reads the chain ID from the node in SetCodeTxTest, and makes TestAutobahnStartup sign at the chain's current nonce so it can run again on the same cluster. The hard-coded EVM_ONLY_CHAIN_ID (713715) matches AutobahnEVMOnlyChainID, and the new Go helpers are small and correct.
Findings: 0 blocking | 0 non-blocking | 0 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- None at the file/PR level.
|
The PR gets the shared hardhat setup working on the EVM-only Autobahn chain: it skips the Sei address lookup there, reads the chain ID from the node, skips SeiSoloTest, re-enables the interop row and un-skips Recovery, and has the startup gate read the sender's nonce before signing. I found nothing blocking: the durable execution cursor that Recovery needs is in the merged tree (evmOnlyApplication.Info reports cursor state), and codex's reading of no findings agrees with mine, so it contributed nothing I had to check further. 1 nit, not posted on the code
seidroid review · decision Findings: 0 blocking | 0 non-blocking | 0 posted inline |
This is part 1 of re-enabling all Autobahn tests in EVM-only mode. This PR enables some of them and others will be enabled once precompiles and RPC methods are available in EVM only.
Since #4316, Autobahn runs the EVM-only executor, and most Autobahn integration coverage was
disabled or skipped. Even plain-EVM suites could not run: the shared hardhat setup looked up each
test account's Sei address, a Cosmos query the EVM-only chain cannot answer, so every suite failed
before its first test, and
SetCodeTxTest.jssigned for the old chain ID. The Autobahn BasicRecoverytest was skipped until the durable execution cursor reachedmain, which it now has(#4351).
The setup now skips the Sei address lookup on the EVM-only chain and behaves as before on every
other chain, and
SetCodeTxTest.jsreads the chain ID from the node.SeiSoloTest.jsis skippedon the EVM-only chain, because it claims Sei-account and CosmWasm balances that chain does not have;
it still runs on the non-Autobahn row. With that, the "Autobahn EVM Interoperability (Misc Tests)"
row passes and is re-enabled, and
Recoveryis un-skipped.TestAutobahnStartupalso reads thesender's nonce before signing, so it can run more than once on the same cluster.
The other Autobahn rows stay disabled because what they test is not on the EVM-only chain yet. The
compat and RPC fixture suites need RPC methods it does not serve (
debug_trace*, reading state atpast blocks,
eth_getStorageAt,eth_getBlockReceipts, filters,web3_clientVersion,WebSocket), the precompile suite needs Sei precompiles, and the upgrade suites need a
governance-driven upgrade. The Giga suite also has test-side fixes to make: it assumes a new account
starts with a zero balance, and one test hangs. Those rows will be re-enabled in follow-ups as the
missing methods land.
Tested locally on an EVM-only Autobahn cluster:
evm_interoperability_misc_tests.shpasses end to end (SeiSoloTest.js3 pending,SetCodeTxTest.js1 passing,TransientStorageTest.js19 passing)EVMCompatabilityTest.jsgets past setup (59 passing; the rest need the missing RPC methods)TestAutobahnStartuppasses twice in a row on the same clusterRecoverypasses (make autobahn-integration-test)