#[atomic_enum::atomic_enum]
#[derive(PartialEq, Eq, strum::Display, strum::EnumIter)]
pub enum HoprState {
#[strum(to_string = "Node is not yet initialized")]
Uninitialized = 0,
#[strum(to_string = "Waiting for initial wallet funding")]
WaitingForFunds = 1,
#[strum(to_string = "Verifying wallet balance")]
CheckingBalance = 2,
#[strum(to_string = "Validating network configuration")]
ValidatingNetworkConfig = 3,
#[strum(to_string = "Checking onchain address")]
CheckingOnchainAddress = 4,
#[strum(to_string = "Registering Safe contract")]
RegisteringSafe = 5,
#[strum(to_string = "Announcing node on chain")]
AnnouncingNode = 6,
#[strum(to_string = "Waiting for on-chain key binding confirmation")]
AwaitingKeyBinding = 7,
#[strum(to_string = "Initializing internal services")]
InitializingServices = 8,
#[strum(to_string = "Node is running")]
Running = 9,
#[strum(to_string = "Node has been terminated")]
Terminated = 10,
#[strum(to_string = "Node is running in degraded state")]
Degraded = 11,
#[strum(to_string = "Node has failed")]
Failed = 12,
}