-
Notifications
You must be signed in to change notification settings - Fork 3
feat: enforce blacklist for native coin transfers across txpool, execution, and consensus layers #34
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
Conversation
087c8dd to
421dc60
Compare
0xmhha
left a comment
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.
Should we also add blacklist validation for DELEGATECALL to prevent potential bypass vectors?
|
It looks like the error messages for blacklisted accounts are following a similar pattern. For example: This could provide more context and make the error handling more consistent across the codebase. |
9688c3f to
7b3f795
Compare
2844d48 to
ea30e10
Compare
ad654a6 to
e4e5c94
Compare
Overview
This pull request introduces protocol-level blacklist enforcement across transaction validation, EVM execution, and consensus signing.
The enforcement applies to operations that can initiate native coin (value) transfers, preventing blacklisted accounts from sending or receiving value or benefiting from balance transfers under the
Anzeonfork rules.Files Modified
core/txpool
blobpool/blobpool.golegacypool/legacypool.govalidation.gocore/state_transition.go
core/vm
errors.goevm.goinstructions.goconsensus/wbft
common/errors.goengine/engine.gotests
consensus/wbft/engine/engine_test.gocore/txpool/validation_test.gocore/vm/evm_test.gocore/vm/instructions_test.goKey Changes
1. Transaction Pool Validation
Transactions are rejected when:
from) is blacklistedto) is blacklisted2. State Transition Enforcement
Transactions are rejected during execution when:
from) is blacklistedto) is blacklisted3. EVM Execution Enforcement
Blacklist checks were added to execution paths that can result in native value transfers, including:
4. Consensus Signer Validation
5. Error Handling and Testing Improvements
Testing
Request for Review
Related Issue