Blacklisting A Component
Component blacklisting exists as an emergency feature to ensure Nodes can remove faulty components.
Overview
Malicious components can be blacklisted on a Router contract.
This is to enable Node Owners to
force
remove a component that is not functioning correctly and blocking normal Node operations.If a component is not blacklisted use of the
force
bool onnode.removeComponent()
will revert.
The blacklist is publicly viewable on each Router contract:
mapping(address => bool) public isBlacklisted;
Only the Registry Owner can blacklist a component:
function setBlacklistStatus(address component, bool status) external onlyRegistryOwner {
if (component == address(0)) revert ErrorsLib.ZeroAddress();
isBlacklisted[component] = status;
emit EventsLib.ComponentBlacklisted(component, status);
}
Interactions with Router Whitelist
The whitelist is not affected by the blacklist:
The whitelist exists to enable governance to safely add valid components to each router contract.
The blacklist exists to enable governance to safely allow node owner to remove faulty or malicious components.
Add a component to the blacklist does not remove it from the whitelist. This step must be separately to protect future node owners from adding the malicious component.
Last updated