Managing Rebalancers
Managing Rebalancers
Rebalancers must first be whitelisted at the protocol level before they can be added to individual Nodes.
Protocol Level
// Protocol owner whitelists rebalancer
registry.setRegistryType(rebalancerAddress, RegistryType.REBALANCER, true);
Node Level
// Add rebalancer to Node
function addRebalancer(address newRebalancer) external onlyOwner {
if (isRebalancer[newRebalancer]) revert ErrorsLib.AlreadySet();
if (!registry.isRegistryType(newRebalancer, RegistryType.REBALANCER)) {
revert ErrorsLib.NotWhitelisted();
}
isRebalancer[newRebalancer] = true;
}
// Remove rebalancer from Node
function removeRebalancer(address oldRebalancer) external onlyOwner {
if (!isRebalancer[oldRebalancer]) revert ErrorsLib.NotSet();
isRebalancer[oldRebalancer] = false;
}
Constraints
Only Node owner can add/remove rebalancers
Cannot add zero address
Cannot add already-set rebalancer
Cannot add non-whitelisted rebalancer
Cannot remove non-existent rebalancer
Important Notes
A Node without any rebalancers cannot execute rebalances or fulfill redemptions
Best practice: Maintain at least one active rebalancer at all times
Removing all rebalancers will not affect existing positions but will prevent:
Starting new rebalances
Fulfilling redemption requests
Investing in or liquidating from components
Last updated