Conversation
- Update revm dependency to v75-gwyneth-claude branch - Adapt code to handle ChainAddress instead of Address - Fix all test files to use ChainAddress compatibility layer - Ensure all tests pass including JS tracer functionality - Add CLAUDE.md documentation for future development 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The latest v75-gwyneth-claude branch has breaking API changes that need more work to adapt to. For now, pinning to the last known working commit ensures the code compiles and all tests pass.
Major changes to support the MultiChainDatabase architecture: - Updated all source files to use ChainAddress where needed - Fixed Database trait bounds for MultiChainDatabase - Updated tests to use MultiCacheDB instead of CacheDB - Fixed StorageChanged -> StorageChange enum variant name - Updated all test files to use ChainAddress(1, address) for transaction callers - Fixed Context and Evm construction methods for MultiChain support Library compiles and all unit tests pass. Most integration tests work except transfer.rs which needs TransferInspector to implement Inspector for MultiCacheDB.
The revm update changed the enum variant name back to StorageChanged. Updated to match the latest v75-gwyneth-claude branch.
- Fixed ChainAddress usage in JS tracer bindings - Updated JS Inspector trait bounds for Database compatibility - Fixed JS test to use MultiCacheDB instead of CacheDB - Library compiles successfully with all features (serde, js-tracer) - Note: Some JS tracer tests need MultiCacheDB DatabaseRef implementation
Major changes: - Migrate from Address to ChainAddress throughout codebase for multi-chain support - Update TransferInspector to require MultiChainDatabase instead of Database trait - Fix all Interpreter::new calls to include chain_id parameter - Update test infrastructure to work with MultiCacheDB - Add proper trait imports (ExecuteEvm, MainContext, MainBuilder, etc.) - Fix PrevrandaoNotSet errors by setting SpecId in test contexts Known issues: - Some tests fail due to MultiCacheDB not properly persisting deployed contract bytecode - This affects test_internal_transfers, test_geth_calltracer_logs, and test_geth_mux_tracer - Contract deployment appears successful but bytecode remains empty when called The codebase now compiles successfully with all features enabled. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The revm codebase was updated with changes to how ChainAddress is used: - CreateInputs.caller is now already a ChainAddress, not Address - precompile_addresses() now returns HashSet<ChainAddress> instead of HashSet<Address> Changes: - Remove unnecessary ChainAddress wrapping of inputs.caller - Convert ChainAddress to Address where needed for precompile checks - Fix access list inspector to handle ChainAddress precompiles - Remove unused imports Test results: - All library unit tests pass (8/8) - Most integration tests pass (8/15) - Remaining failures are PrevrandaoNotSet errors in older test setups 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add prevrandao field to block environment for CANCUN and post-Merge specs - Fix PrevrandaoNotSet errors in integration tests - Update deploy_contract and inspect_deploy_contract helpers to set prevrandao - Ensure prevrandao is set before inspect_replay() calls in test contexts The revm update requires prevrandao to be set for post-Merge Ethereum specs. This commit adds the necessary configuration throughout the test suite. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
After revm update, MultiCacheDB was removed. This commit replaces all usage of MultiCacheDB with SimpleMultiChainDB throughout the codebase. Key changes: - Replaced MultiCacheDB with SimpleMultiChainDB in all test files - Wrapped EmptyDB with CacheDB when adding to SimpleMultiChainDB - Fixed prevrandao issues in JS tracer tests 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Updated to use revm v86-gwyneth from taikoxyz/revm-private - Migrated to multi-chain database interfaces (MultiChainDatabaseRef) - Fixed ChainAddress handling throughout codebase - Commented out erc7562 features (not available in alloy 1.0.12) - Updated Interpreter constructor with ExecutionMode and GwynethSupport - Fixed journal_mut() call for mutable context access
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.