import { BigNumberish, ethers } from "ethers"; import MerkleTree from "merkletreejs"; export interface QueryRow { blockNumber: number; address?: string; slot?: ethers.BigNumberish; value?: ethers.BigNumberish; } export interface QueryHeader { version: number; numRows: number; } export interface DecodedQuery { header: QueryHeader; body: QueryRow[]; } export declare const BlockHashWitnessABI = "(uint32 blockNumber, bytes32 claimedBlockHash, bytes32 prevHash, uint32 numFinal, bytes32[10] merkleProof)"; export interface QueryData { rowHash: string; blockNumber: number; blockHash: string; address?: string; nonce?: string; balance?: string; storageHash?: string; codeHash?: string; slot?: string; value?: string; requestedAt?: number; fulfilledAt?: number; status?: string; } export interface QueryBuilderResponse { keccakQueryResponse: string; queryHash: string; query: string; } export interface MerkleResponseTree { blockTree: MerkleTree; accountTree: MerkleTree; storageTree: MerkleTree; } export interface ResponseTree extends MerkleResponseTree { rowHashMap: Map; data: QueryData[]; } export interface SolidityBlockResponse { blockNumber: number; blockHash: string; leafIdx: number; proof: string[]; } export interface SolidityAccountResponse { blockNumber: number; addr: string; nonce: BigNumberish; balance: BigNumberish; storageRoot: string; codeHash: string; leafIdx: number; proof: string[]; } export interface SolidityStorageResponse { blockNumber: number; addr: string; slot: BigNumberish; value: BigNumberish; leafIdx: number; proof: string[]; } export interface ValidationWitnessResponse { blockResponse: SolidityBlockResponse; accountResponse?: SolidityAccountResponse; storageResponse?: SolidityStorageResponse; } export interface AccountState { nonce: string; balance: string; storageHash: string; codeHash: string; } export interface KeccakResponses { keccakBlockResponse: string; keccakAccountResponse: string; keccakStorageResponse: string; } //# sourceMappingURL=types.d.ts.map