UNPKG

incubed

Version:

Typescript-version of the incubed client

37 lines (36 loc) 1.24 kB
import ChainContext from '../../client/ChainContext'; import { ChainSpec, RPCRequest, RPCResponse } from '../../types/types'; import Client from '../../client/Client'; import Filters from './filter'; export default class EthChainContext extends ChainContext { codeCache: CacheNode; blockCache: { number: number; header: Buffer; hash: Buffer; }[]; filters: Filters; constructor(client: Client, chainId: string, chainSpec: ChainSpec); handleIntern(request: RPCRequest): Promise<RPCResponse>; getCodeFor(addresses: Buffer[], block?: string): Promise<Buffer[]>; getLastBlockHashes(): string[]; getBlockHeader(blockNumber: number): Buffer; getBlockHeaderByHash(blockHash: Buffer): Buffer; addBlockHeader(blockNumber: number, header: Buffer): Buffer; initCache(): void; } export interface CacheEntry { added: number; data: Buffer; } export declare class CacheNode { limit: number; data: Map<string, CacheEntry>; dataLength: number; constructor(limit: number); get(key: Buffer): Buffer; put(key: Buffer, val: Buffer): void; getByteLength(entry: Buffer | string): number; toStorage(): string; fromStorage(data: string): void; }