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 - forceremove a component that is not functioning correctly and blocking normal Node operations.
- If a component is not blacklisted use of the - forcebool on- node.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