@eth-optimism/ethereumjs-vm
Version:
An Ethereum VM implementation
27 lines (26 loc) • 1.25 kB
TypeScript
import { BigNumber } from 'ethers';
import VM from '../index';
import Message from '../evm/message';
export interface OvmStateManagerOpts {
vm: VM;
}
export declare class OvmStateManager {
vm: VM;
private _iface;
private _handlers;
constructor(opts: OvmStateManagerOpts);
isAuthenticated(message: Message, context: any): Promise<boolean>;
handleCall(message: Message, context: any): Promise<any>;
hasAccount(address: string): Promise<boolean>;
hasEmptyAccount(address: string): Promise<boolean>;
setAccountNonce(address: string, nonce: BigNumber): Promise<void>;
getAccountNonce(address: string): Promise<number>;
getAccountEthAddress(address: string): Promise<string>;
getContractStorage(address: string, key: string): Promise<string>;
hasContractStorage(address: string, key: string): Promise<boolean>;
putContractStorage(address: string, key: string, value: string): Promise<void>;
testAndSetAccountLoaded(address: string): Promise<boolean>;
testAndSetAccountChanged(address: string): Promise<boolean>;
testAndSetContractStorageLoaded(address: string, key: string): Promise<boolean>;
testAndSetContractStorageChanged(address: string, key: string): Promise<boolean>;
}