-
Notifications
You must be signed in to change notification settings - Fork 810
feat: emulate package for temporary libevm registration
#4430
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?
Conversation
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.
Pull Request Overview
This PR introduces an emulate package that provides syntactic sugar for temporarily registering libevm extras to emulate coreth (C-Chain) and subnet-evm behavior. The package offers wrapper functions that handle temporary registration for both error-only and value-returning operations, enabling consistent emulation across the codebase.
Key Changes:
- New
emulatepackage with functions for temporarylibevmregistration - Integration test demonstrating concurrent usage with both
corethandsubnet-evm - Updated dependencies to latest commits on
masterforcoreth,libevm, and newly addedsubnet-evm
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| vms/evm/emulate/emulate.go | Core emulation wrapper functions for both repos with error-only and value-returning variants |
| vms/evm/emulate/emulate_test.go | Integration test verifying concurrent emulation behavior and mutual exclusion |
| go.mod | Dependency updates including new subnet-evm dependency and version bumps for related packages |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]> Signed-off-by: Arran Schlosberg <[email protected]>
Co-authored-by: Stephen Buttolph <[email protected]> Signed-off-by: Arran Schlosberg <[email protected]>
Why this should be merged
Provides a single point of entry for emulation of
corethandsubnet-evmbehaviour with respect to temporarylibevmregistration.How this works
Syntactic sugar. The changes to
go.modare simply due to runninggo getat the latest commits on `master.Note
Open question: this adds
subnet-evmtogo.mod. Do we want to actively block its import in any other package?How this was tested
Basic integration test to demonstrate usage of the functions with respective repo "extra" types.
Need to be documented in RELEASES.md?
No