This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
enforce whitelist/blacklist checks for inline actions and deferred transactions; add bypass for special deferred transaction senders #6318
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
This PR makes changes to the subjective whitelist/blacklist checks in order to also enforce the whitelists/blacklists when sending inline actions or deferred transactions (as well as when actually retiring a deferred transaction).
However, block producers may need to bypass the whitelist/blacklist checks in order to, for example, execute arbitration orders. It is not safe for BPs to take an account off a blacklist during the time they need to execute the transaction(s) to carry out an order. Therefore, this PR also includes a new list called the
sender-bypass-whiteblacklist
. If the sender of a deferred transaction is in this list, then the whitelist/blacklist checks will not be enforced during the scheduling or retirement of that deferred transaction. The intention is for an account such aseosio.wrap
to only be added to thesender-bypass-whiteblacklist
of all active BPs so that the BPs can execute wrapped transactions without interference from blacklists. This would allow BPs to execute arbitration orders (viaeosio.wrap
) while at the same time not needing to remove any blacklisted accounts from blacklists at any point in that process until it is the appropriate time for the account to no longer be blacklisted.Consensus Changes
None.
API Changes
None.
Documentation Additions
A new chain_plugin configuration option called
sender-bypass-whiteblacklist
has been added. See comments above for the meaning of this new option.