/// import { Uint256 } from '../common/uint256'; import { LedgerStore } from '../core/ledgerStore'; import { StateStore } from '../core/state/stateStore'; import { Transaction } from '../core/transaction'; import { LogCallback, LogEventInfo, NotificationCallback, NotifyEventInfo } from '../event/notifyEvents'; import { ExecutionEngine } from '../vm/interfaces/engine'; import { StackItem } from '../vm/types/stackItem'; import { ContextRef, InvokeOptions, VmService } from './context'; interface NeoVmServiceOptions { store: LedgerStore; stateStore: StateStore; contextRef: ContextRef; code: Buffer; tx: Transaction; time: number; randomHash: Uint256; engine: ExecutionEngine; notificationCallback?: NotificationCallback; logCallback?: LogCallback; } export declare class NeoVmService implements VmService { private store; private stateStore; private contextRef; private notifications; private logs; private code; private tx; private time; private randomHash; private engine; private notificationCallback?; private logCallback?; constructor(options: NeoVmServiceOptions); getTx(): Transaction; getTime(): number; getEngine(): ExecutionEngine; getContextRef(): ContextRef; getStateStore(): StateStore; getStore(): LedgerStore; getNotifications(): NotifyEventInfo[]; getLogs(): LogEventInfo[]; getRandomHash(): Uint256; invoke({ inspect }: InvokeOptions): Promise; /** * SystemCall provide register service for smart contract to interaction with blockchain */ systemCall(): void; /** * DUMMY: this method will call other SC. * Need to devise a way how to use it in test VM * @param address */ getContract(address: Buffer): Buffer; checkStackSize(): boolean; addNotification(event: NotifyEventInfo): void; addLog(event: LogEventInfo): void; getNotificationCallback(): NotificationCallback | undefined; } export {};