Skip to content
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

Merged
merged 7 commits into from
Nov 20, 2018

Conversation

arhag
Copy link
Contributor

@arhag arhag commented Nov 14, 2018

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 as eosio.wrap to only be added to the sender-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 (via eosio.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.

Enforce actor whitelist/blacklist checks for inline actions and deferred 
transactions as well.

Bypass all subjective whitelist/blacklist checks within a deferred 
transaction if the sender of the deferred transaction is in the 
config-specified list of accounts called `sender-bypass-whiteblacklist`.
@arhag arhag merged commit 32bea70 into develop Nov 20, 2018
@arhag arhag deleted the actor-whitelist-blacklist-fixes branch November 20, 2018 00:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants