This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Implement RAM_RESTRICTIONS protocol feature #7131
Merged
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.
Change Description
Resolves #6105.
This PR adds support for the
RAM_RESTRICTIONS
protocol feature which, when activated makes the following changes to the rules regarding RAM billing within an action:For an unprivileged contract responding to a notification:
receiver
.receiver
as long as the action's net effect on RAM usage for that account is to not increase it.For an unprivileged contract executing an action (but not as a response to a notification):
receiver
unless that account authorized the action.receiver
as long as either that account authorized the action or the action's net effect on RAM usage for that account is to not increase it.This PR introduces a new unit test
protocol_feature_tests/ram_restrictions_test
to test the behavior of this new protocol feature. Theram_restrictions_test
test contract was added to meet the needs of the new unit test.Consensus Changes
Makes the
RAM_RESTRICTIONS
protocol feature available. See above description and #6105 for details.API Changes
Documentation Additions