The heartbeat mechanism is implemented but their failures are not reported anywhere. A heartbeat failure is one of the contract-level triggers for the moving funds process hence, it's an important missing piece of the entire wallet lifecycle. The goal of this task is adding heartbeat failure reporting to the client. This consists of two subtasks:
Making sure unstaking wallet operators do not take part in heartbeat execution (see this TODO). This is an important mechanism that would lead to wallet moving funds in case the majority of wallet operators want to unstake.
Trigger heartbeat notification failure using WalletRegistry.notifyOperatorInactivity function after N consecutive heartbeat failures (value of N to be determined after a discussion)
The heartbeat mechanism is implemented but their failures are not reported anywhere. A heartbeat failure is one of the contract-level triggers for the moving funds process hence, it's an important missing piece of the entire wallet lifecycle. The goal of this task is adding heartbeat failure reporting to the client. This consists of two subtasks:
WalletRegistry.notifyOperatorInactivity
function afterN
consecutive heartbeat failures (value ofN
to be determined after a discussion)