@activeledger/activeprotocol
Version:
Underlying protocol which handles consensus and the smart contract virtual machine of Activeledger
44 lines • 2.09 kB
TypeScript
/// <reference types="node" />
import * as events from "events";
import { ActiveDSConnect } from "@activeledger/activeoptions";
import { ActiveDefinitions } from "@activeledger/activedefinitions";
import { ActiveCrypto } from "@activeledger/activecrypto";
import { IVMDataPayload, IVirtualMachine } from "./interfaces/vm.interface";
export declare class VirtualMachine extends events.EventEmitter implements IVirtualMachine {
private selfHost;
private secured;
private db;
private dbev;
private virtual;
private virtualInstance;
private contractReferences;
private event;
private emitter;
private maxTimeout;
private scriptFinishedExec;
constructor(selfHost: string, secured: ActiveCrypto.Secured, db: ActiveDSConnect, dbev: ActiveDSConnect);
initialiseVirtualMachine(extraBuiltins?: string[], extraExternals?: string[], extraMocks?: string[]): void;
getActivityStreamsFromVM(umid: string): ActiveDefinitions.LedgerStream[];
destroy(umid: string): void;
getInternodeCommsFromVM(umid: string): any;
clearingInternodeCommsFromVM(umid: string): boolean;
getReturnContractData(umid: string): unknown;
getThrowsFromVM(umid: string): string[];
getInputs(umid: string): ActiveDefinitions.LedgerStream[];
initialise(payload: IVMDataPayload, contractName: string): Promise<void>;
private setPhase;
read(umid: string, readMethod: string): Promise<unknown>;
verify(sigless: boolean, umid: string): Promise<boolean>;
vote(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
commit(nodes: ActiveDefinitions.INodes, possibleTerritoriality: boolean | undefined, umid: string): Promise<boolean>;
reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
postProcess(territoriality: boolean, who: string, umid: string): Promise<any>;
private incMarshel;
private listenForVolatile;
private listenForFetch;
private checkTimeout;
private hasBeenExtended;
private catchException;
private readNthLine;
}
//# sourceMappingURL=vm.d.ts.map