UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

62 lines 2.4 kB
import { PeerId, TopicValidatorResult } from "@libp2p/interface"; import { RootHex, phase0 } from "@lodestar/types"; import { BlockInput, NullBlockInput } from "../chain/blocks/types.js"; import { PeerIdStr } from "../util/peerId.js"; import { StrictEventEmitterSingleArg } from "../util/strictEvents.js"; import { EventDirection } from "../util/workerEvents.js"; import { PendingGossipsubMessage } from "./processor/types.js"; import { RequestTypedContainer } from "./reqresp/ReqRespBeaconNode.js"; export declare enum NetworkEvent { /** A relevant peer has connected or has been re-STATUS'd */ peerConnected = "peer-manager.peer-connected", /** A peer has been disconnected */ peerDisconnected = "peer-manager.peer-disconnected", reqRespRequest = "req-resp.request", unknownBlockParent = "unknownBlockParent", unknownBlock = "unknownBlock", unknownBlockInput = "unknownBlockInput", /** (Network -> App) A gossip message is ready for validation */ pendingGossipsubMessage = "gossip.pendingGossipsubMessage", /** (App -> Network) A gossip message has been validated */ gossipMessageValidationResult = "gossip.messageValidationResult" } export type NetworkEventData = { [NetworkEvent.peerConnected]: { peer: PeerIdStr; status: phase0.Status; }; [NetworkEvent.peerDisconnected]: { peer: PeerIdStr; }; [NetworkEvent.reqRespRequest]: { request: RequestTypedContainer; peer: PeerId; }; [NetworkEvent.unknownBlockParent]: { blockInput: BlockInput; peer: PeerIdStr; }; [NetworkEvent.unknownBlock]: { rootHex: RootHex; peer?: PeerIdStr; }; [NetworkEvent.unknownBlockInput]: { blockInput: BlockInput | NullBlockInput; peer?: PeerIdStr; }; [NetworkEvent.pendingGossipsubMessage]: PendingGossipsubMessage; [NetworkEvent.gossipMessageValidationResult]: { msgId: string; propagationSource: PeerIdStr; acceptance: TopicValidatorResult; }; }; export declare const networkEventDirection: Record<NetworkEvent, EventDirection>; export type INetworkEventBus = StrictEventEmitterSingleArg<NetworkEventData>; declare const NetworkEventBus_base: { new (): INetworkEventBus; }; export declare class NetworkEventBus extends NetworkEventBus_base { } export {}; //# sourceMappingURL=events.d.ts.map