From 2d419637de4ab917fcfbe5b7d40fcfcb45931069 Mon Sep 17 00:00:00 2001 From: Maciej Hirsz <1096222+maciejhirsz@users.noreply.github.com> Date: Mon, 28 Oct 2019 13:48:33 +0100 Subject: [PATCH] feat: Add support for system.network_state (#183) --- packages/backend/src/Node.ts | 9 +++++++++ packages/backend/src/message.ts | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/packages/backend/src/Node.ts b/packages/backend/src/Node.ts index 64d191b..4b7a8d9 100644 --- a/packages/backend/src/Node.ts +++ b/packages/backend/src/Node.ts @@ -9,6 +9,7 @@ import { Message, BestBlock, SystemInterval, + SystemNetworkState, AfgFinalized, AfgReceivedPrecommit, AfgReceivedPrevote, @@ -249,6 +250,10 @@ export default class Node { this.onSystemInterval(message); } + if (message.msg === 'system.network_state') { + this.onSystemNetworkState(message); + } + if (message.msg === 'afg.finalized') { this.onAfgFinalized(message); } @@ -308,6 +313,10 @@ export default class Node { } } + private onSystemNetworkState(message: SystemNetworkState) { + this.networkState = message.state; + } + public isAuthority(): boolean { return this.authority; } diff --git a/packages/backend/src/message.ts b/packages/backend/src/message.ts index 5ae5fee..7e2cb1f 100644 --- a/packages/backend/src/message.ts +++ b/packages/backend/src/message.ts @@ -100,6 +100,11 @@ export interface SystemInterval extends BestBlock { finalized_hash: Maybe; } +export interface SystemNetworkState extends MessageBase { + msg: 'system.network_state'; + state: Types.NetworkState; +} + export interface NodeStart extends BestBlock { msg: 'node.start'; } @@ -112,6 +117,7 @@ export interface BlockImport extends BestBlock { export type Message = MessageBase & ( | SystemConnected | SystemInterval + | SystemNetworkState | NodeStart | BlockImport | AfgFinalized