-
Couldn't load subscription status.
- Fork 812
uplift gossip package from evm repositories
#4310
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 uplifts the gossip package from EVM repositories (subnet-evm and coreth) to AvalancheGo to reduce code duplication and maintenance overhead. The change introduces a new transaction gossip handler that combines push and pull gossip functionality with throttling and validator filtering.
Key changes:
- Adds a new
gossippackage undervms/evm/containing a transaction gossip handler - Implements a composite handler that wraps both app gossip and app request handlers with different access controls
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
gossip package from evm repositories gossip package from evm repositories
gossip package from evm repositories gossip package from evm repositories
|
Is this the "temporary" directory, or is it the final destination for this code? If the latter, I'll provide more thorough comments on style. |
This is the final destination for the code. 'uplifting' is the is the process of cleaning up, aligning with AvalancheGo standards, etc. so these typically get more thorough reviews. |
Why this should be merged
There are packages in subnet-evm and coreth that share a lot of functionality / are mirrored. These packages should be uplifted to AvalancheGo to prevent the duplicative maintenance of two sets of the same code. I recently was syncing changes between coreth and subnet-evm for these gossip changes, and it would be better if this code was just in AvalancheGo
Here are the packages being unified and uplifted:
coreth: https://github.com/ava-labs/coreth/tree/master/plugin/evm/gossip
subnet-evm: https://github.com/ava-labs/subnet-evm/tree/master/plugin/evm/gossip
How this was tested
This is currently 'dead' code; after a new AvalancheGo release is dropped, we can use the code in the evm repositories.
Need to be documented in RELEASES.md?
No