Background
It's frustrating in that there appears to be some reasonable code duplication in the ChainContext class that is responsible for the sycnchronisation / warm up, and subsequent chain monitoring. This makes it difficult to read, reason, and regression test (maybe I just coin RRR 😆).
Details
It's desirable that the code in ChainContext be DRY'ed, with a corresponding complexity reduction. The resultant code should also be thoroughly tested.
Acceptance criteria
Background
It's frustrating in that there appears to be some reasonable code duplication in the
ChainContextclass that is responsible for the sycnchronisation / warm up, and subsequent chain monitoring. This makes it difficult to read, reason, and regression test (maybe I just coinRRR😆).Details
It's desirable that the code in
ChainContextbe DRY'ed, with a corresponding complexity reduction. The resultant code should also be thoroughly tested.Acceptance criteria
ChainContextfor synchronisation are simplified.sync./healthAPI endpoint returns5XXwhen chain isn't insync(removestartupProbe, and use onlylivelinessProbe.