@broxus/locklift-network
Version:
In-memory TVM-blockchain emulator for locklift
42 lines (41 loc) • 1.74 kB
TypeScript
import * as nt from "nekoton-wasm";
import { Address, FullContractState } from "everscale-inpage-provider";
import { BlockchainConfig } from "nekoton-wasm";
import { AccountFetcherCallback } from "../types";
interface LockliftTransport {
getBlockchainConfig(): Promise<BlockchainConfig>;
setExecutor(executor: LockliftExecutor): void;
}
export declare class LockliftExecutor {
private readonly transport;
private readonly accountFetcherCallback?;
private state;
private snapshots;
private nonce;
private blockchainConfig;
private globalId;
private clock;
constructor(transport: LockliftTransport, accountFetcherCallback?: AccountFetcherCallback | undefined);
private createInitialBlockchainState;
initialize(): Promise<void>;
setClock(clock: nt.ClockWithOffset): void;
_setAccount(address: Address | string, boc: string): void;
setAccount(address: Address | string, boc: string, type: "accountStuffBoc" | "fullAccountBoc"): void;
getAccount(address: Address | string): Promise<FullContractState | undefined>;
getAccounts(): {
[id: string]: FullContractState;
};
getTxTrace(txId: string): nt.EngineTraceInfo[] | undefined;
private saveTransaction;
getDstTransaction(msgHash: string): nt.JsRawTransaction | undefined;
getTransaction(id: string): nt.JsRawTransaction | undefined;
getTransactions(address: Address | string, fromLt: string, count: number): nt.JsRawTransaction[];
saveSnapshot(): number;
loadSnapshot(id: number): void;
clearSnapshots(): void;
resetBlockchainState(): void;
processQueue(): Promise<void>;
processNextMsg(): Promise<void>;
enqueueMsg(message: nt.JsRawMessage): void;
}
export {};