-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix termination #10302
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?
Fix termination #10302
Conversation
Differential Tests Results (REVM)Specified Tests
Counts
FailuresThe test specifiers seen in this section have the format 'path::case_idx::compilation_mode' and they're compatible with the revive differential tests framework and can be specified to it directly in the same way that they're provided through the The failures are provided in an expandable section to ensure that the PR does not get polluted with information. Please click on the section below for more information Detailed Differential Tests Failure Information
|
Differential Tests Results (PolkaVM)Specified Tests
Counts
FailuresThe test specifiers seen in this section have the format 'path::case_idx::compilation_mode' and they're compatible with the revive differential tests framework and can be specified to it directly in the same way that they're provided through the The failures are provided in an expandable section to ensure that the PR does not get polluted with information. Please click on the section below for more information Detailed Differential Tests Failure Information
|
|
/cmd prdoc --audience runtime_dev --bump patch |
…time_dev --bump patch'
This PR fixes up termination by changing the behavior to:
SELFDESTRUCTshould be allowed inside the constructor. The issuing contract will exist as account without code for the remainder of the transaction.terminatepre-compile should revert if delegate called or its caller was delegate called. This is just my opinion but if we are changing semantics we can might as well add some security. We are increasing the attack surface by allowing the destruction of any contract (not only created in the current tx).Other fixes
BestEffort. This is necessary to fail refunds in case some other locks (due to participation in gov for example) prevent sending them away. This is in anticipation of new pre-compiles.Further tests needed
Those should all be written in Solidity to test both backends at the same time. No more Rust fixtures.
@0xRVE can you take those over as I am ooo.
SELFDESTRUCTtoTerminate.sol. Need https://github.com/paritytech/devops/issues/4508 but can be tested locally with newestresolc.