import { ActiveDefinitions } from "@activeledger/activedefinitions"; import { Standard, Activity, PostProcessEvent } from "@activeledger/activecontracts"; import { EventEngine } from "@activeledger/activequery"; import { EventEmitter } from "events"; export interface IVMObject { initialiseContract(payload: IVMDataPayload, event: EventEngine, emitter: EventEmitter): void; getActivityStreams(umid: string): { [reference: string]: Activity; }; getInternodeComms(umid: string): any; clearInternodeComms(umid: string): boolean; returnContractData(umid: string): unknown; throwFrom(umid: string): string[]; runVerify(umid: string, sigless: boolean): Promise; runVote(umid: string): Promise; runCommit(umid: string, possibleTerritoriality: boolean): Promise; postProcess(umid: string, territoriality: boolean, who: string): Promise; destroy(umid: string): void; getTimeout(umid: string): Date | null; setSysConfig(umid: string, sysConfig: any): void; reloadSysConfig(umid: string): boolean; } export interface IVMDataPayload { contractLocation: string; umid: string; date: Date; remoteAddress: string; transaction: ActiveDefinitions.LedgerTransaction; signatures: ActiveDefinitions.LedgerSignatures; inputs: ActiveDefinitions.LedgerStream[]; outputs: ActiveDefinitions.LedgerStream[]; readonly: ActiveDefinitions.LedgerIORputs; key: number; contractData?: ActiveDefinitions.IContractData | undefined | null; } export interface IVMInternalCache { [umid: string]: PostProcessEvent | Standard; } export interface IContractKeyHolder { [umid: string]: number; } interface IVMContractReferenceData { contractName: string; contractLocation: string; inputs: ActiveDefinitions.LedgerStream[]; tx: ActiveDefinitions.LedgerTransaction; key: number; } export interface IVMContractReferences { [umid: string]: IVMContractReferenceData; } export interface IVMContractHolder { [namespace: string]: IVirtualMachine; } export interface IVirtualMachine { initialiseVirtualMachine(extraBuiltins?: string[], extraExternals?: string[], extraMocks?: string[]): void; getActivityStreamsFromVM(umid: string): ActiveDefinitions.LedgerStream[]; getNewContractData(umid: string): boolean; getInternodeCommsFromVM(umid: string): any; clearingInternodeCommsFromVM(umid: string): boolean; getReturnContractData(umid: string): unknown; getThrowsFromVM(umid: string): string[]; getEvents(umid: string): any[]; destroy(umid: string): void; getInputs(umid: string): ActiveDefinitions.LedgerStream[]; initialise(payload: IVMDataPayload, contractName: string): Promise; read(umid: string, readMethod: string): Promise; verify(sigless: boolean, umid: string): Promise; vote(nodes: ActiveDefinitions.INodes, umid: string): Promise; commit(nodes: ActiveDefinitions.INodes, possibleTerritoriality: boolean, umid: string): Promise; postProcess(territoriality: boolean, who: string, umid: string): Promise; reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise; } export interface IContractIsolateBackend { readonly name: string; load(contractLocation: string): Promise | IIsolatedContractFactory; } export interface IIsolatedContractFactory { instantiate(constructorArgs: unknown[]): Promise | unknown; } export {}; //# sourceMappingURL=vm.interface.d.ts.map