From 71778e9450ab9bbe42dcb0f359bc131caaf6c130 Mon Sep 17 00:00:00 2001 From: Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com> Date: Thu, 21 Feb 2019 16:39:22 +0100 Subject: [PATCH] Downgrade finalized block on disconnect (#115) --- packages/backend/src/Chain.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/backend/src/Chain.ts b/packages/backend/src/Chain.ts index 1701868..14f04b6 100644 --- a/packages/backend/src/Chain.ts +++ b/packages/backend/src/Chain.ts @@ -126,6 +126,7 @@ export default class Chain { private downgradeBlock() { let height = 0 as Types.BlockNumber; + let finalized = Block.ZERO; for (const node of this.nodes) { if (this.height === node.best.number) { @@ -135,10 +136,16 @@ export default class Chain { if (node.best.number > height) { height = node.best.number; } + + if (node.finalized.number > finalized.number) { + finalized = node.finalized; + } } this.height = height; + this.finalized = finalized; this.feeds.broadcast(Feed.bestBlock(this.height, this.blockTimestamp, this.averageBlockTime)); + this.feeds.broadcast(Feed.bestFinalizedBlock(this.finalized)); } private updateFinalized(node: Node) {