Reactivate

To reactivate from deactivation, the subnet node must call reactivate_subnet_node up to the MaxDeactivationEpochs from the deactivation epoch plus one. Once reactivated, the subnet node will begin to be involved in consensus on the following epoch as a Validator classified node.

If a deactivated node doesn't reactivate by the MaxDeactivationEpochs from the epoch they deactivated, it won't be able to reactivate and must remove itself from the blockchain and reregister.

pub fn reactivate_subnet_node(
    origin: OriginFor<T>, 
    subnet_id: u32, 
    subnet_node_id: u32,
)

Inserted & Updated Storage

let mut subnet_node = DeactivatedSubnetNodesData::<T>::take(subnet_id, subnet_node_id);

...

subnet_node.classification.class = SubnetNodeClass::Validator;
subnet_node.classification.start_epoch = epoch + 1;

...

// --- Enter node into the Queue class
SubnetNodesData::<T>::insert(subnet_id, subnet_node.id, subnet_node);

// Increase total subnet nodes
TotalSubnetNodes::<T>::mutate(subnet_id, |n: &mut u32| *n += 1);

Note

There are cleanup functions for registered and deactivated nodes that fail to activate or reactivate that anyone can call.

Last updated