From 45b5b923a045f07e1f64b57f0239e347c8b70584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marin=20Petruni=C4=87?= Date: Sat, 4 May 2019 09:39:00 +0200 Subject: [PATCH 1/2] validator client interface --- src/validator/rpc/interface.ts | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/validator/rpc/interface.ts diff --git a/src/validator/rpc/interface.ts b/src/validator/rpc/interface.ts new file mode 100644 index 000000000000..4378d3936ee2 --- /dev/null +++ b/src/validator/rpc/interface.ts @@ -0,0 +1,44 @@ +import {BeaconAPI} from "../../rpc/api"; +import {AttestationData, BeaconState, Slot} from "../../types"; + +export interface RpcClient { + + beacon: BeaconAPI; + + //validator: ValidatorAPI + + /** + * Initiates connection to rpc server. + */ + connect(): Promise; + + /** + * Initiates connection to rpc server. + */ + disconnect(): Promise; + + /** + * Invokes callback on new slot. + * Depending on implementation it will poll for new slot or getting notified(Websockets) + * @param cb + */ + onNewSlot(cb: (slot: Slot) => void); + + + /** + * Invokes callback on new head block. + * Depending on implementation it will poll for new head block or getting notified(Websockets) + * @param cb + */ + onNewBeaconState(cb: (state: BeaconState) => void); + + /** + * Invokes callback on new attestation data. + * Depending on implementation it will poll for attestation data or getting notified(Websockets) + * @param cb + */ + onNewAttestation(cb: (attestation: AttestationData) => void); + + + +} From b3302c5727ff5896d3c66c04a7e441dce3b2406c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marin=20Petruni=C4=87?= Date: Sat, 4 May 2019 09:41:50 +0200 Subject: [PATCH 2/2] fix typo --- src/validator/rpc/interface.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validator/rpc/interface.ts b/src/validator/rpc/interface.ts index 4378d3936ee2..b6fef94bc890 100644 --- a/src/validator/rpc/interface.ts +++ b/src/validator/rpc/interface.ts @@ -13,7 +13,7 @@ export interface RpcClient { connect(): Promise; /** - * Initiates connection to rpc server. + * Destroys connection to rpc server. */ disconnect(): Promise;