import { JsonRpc, AbstractJsonRpc } from './JsonRpc'; import { Batch, RawBatchResponse } from './Batch'; /** * Batch verifier */ export interface Verifier { setup(batch: Batch): any; verify(): Promise; } /** * JsonRpc which verifies each batch result before resolving. If any of verification elements gets invalid, it rejects * whole batch. * * Use [[Verifier]] for verification */ export default class VerifyingJsonRpc extends AbstractJsonRpc implements JsonRpc { delegate: JsonRpc; verifiers: Array; constructor(delegate: JsonRpc); verifyWith(verifier: Verifier): void; execute(batch: Batch): Promise; }