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
  • Resources
    • FAQ
    • Glossary
    • Supported Networks & Protocols
    • Deployments
    • Audits
    • GitHub
    • Telegram
    • NashPoint
  • Node Strategies
    • Test Node A
Powered by GitBook
On this page
  • Adding Components
  • Removing Components
  • Component Validation
  • Governance & Whitelisting
Edit on GitHub
  1. Managing a Node

Adding & Removing Components

Components are the vaults and strategies where a Node deploys assets. Each component must be validated and whitelisted before being added to a Node. This section covers the complete lifecycle of component management, from addition and configuration to removal.

Adding Components

function addComponent(
    address component,
    uint64 targetWeight,
    uint64 maxDelta,
    address router
) external onlyOwner onlyWhenNotRebalancing

Security Checks

  1. Component must:

    • Not be zero address

    • Not already be a component

    • Have same underlying asset as Node

    • Be whitelisted in specified Router

  2. Router must:

    • Be whitelisted in Node

    • Be whitelisted in Registry

  3. Timing:

    • Cannot add during rebalance window

Example Usage

// As Node owner
node.addComponent(
    vaultAddress,      // ERC4626 or ERC7540 vault
    0.4e18,           // 40% target allocation
    0.05e18,          // 5% maximum deviation
    router4626Address  // Router for this component type
);

Removing Components

function removeComponent(
    address component,
    bool force
) external onlyOwner onlyWhenNotRebalancing

Security Checks

  1. Component must:

    • Be registered component

    • Have zero balance (unless force=true)

  2. Timing:

    • Cannot remove during rebalance window

Best Practices

  1. Update allocation to zero first:

node.updateComponentAllocation(
    component,
    0,              // zero target weight
    0,              // zero max delta
    routerAddress
);
  1. Wait for rebalancer to exit position

  2. Remove component:

node.removeComponent(component, false);

Component Validation

Components and their allocations must:

  • Sum to 100% (1e18) with reserve ratio

  • Use whitelisted routers

  • Match Node's underlying asset

  • Be whitelisted in their respective routers

These checks are enforced during:

  • Component addition

  • Allocation updates

  • Rebalance initiation

Governance & Whitelisting

NashPoint implements a multi-tiered permissioning system to protect Nodes from misconfiguration or malicious components. Each router and component must be approved at protocol, router, and node levels before use.

PreviousManaging a NodeNextUpdating Component Allocations

Last updated 2 months ago

Adding Routers and Components - Step by Step Guide