NashPoint
NashPoint
  • Introduction
    • Introduction To Nashpoint
    • Current Features & Capabilities
    • Post Launch Roadmap
  • User Documentation
    • Node Contract Overview
    • Node Owner & Rebalancer Roles
    • Portfolio Management
    • Rebalancing & Strategy Execution
    • User Deposits & Shares
    • Asynchronous Redemptions
      • Two Step Process
    • Swing Pricing
    • Processing User Redemptions
    • Management & Execution Fees
  • Developer Documentation
    • Overview
    • Role-Based Access Control
    • Smart Contract Architecture
  • Routers
    • ERC-4626 Router
    • ERC-7540 Router
    • Router Tolerance
  • Creating A Node
  • Asynchronous Redemptions
  • Managing a Node
    • Adding & Removing Components
    • Updating Component Allocations
    • Rebalance Window & Cooldown
    • Rebalancing a Node
    • Managing Rebalancers
    • Processing User Redemptions
      • Reserve vs Component Fulfillment
    • Reserve Management
    • Fees Configuration
    • Liquidation Queue Configuration
    • Max Deposit Limits
    • Operator Permissions
    • Emergency Controls
  • Upgrading a Node
    • Adding Quoters & Routers
    • Custom Router Development
    • Multi-Tier Permissioning
  • Cached Data & Gas Efficiency
  • Swing Pricing Calculations
  • Adding Routers and Components - Step by Step Guide
  • Node Execute Function
  • Blacklisting A Component
  • Resources
    • FAQ
    • Glossary
    • Supported Networks & Protocols
    • Deployments
    • Audits
    • GitHub
    • Telegram
    • NashPoint
    • Brand Assets
  • Node Strategies
    • Test Node A
Powered by GitBook
On this page
  • Overview
  • Interactions with Router Whitelist
Edit on GitHub

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 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.

PreviousNode Execute FunctionNextFAQ

Last updated 12 days ago