/// import type { ReturnData } from "./return-data"; import { Block } from "@nomicfoundation/ethereumjs-block"; import { RunBlockResult } from "@oasislabs/ethereumjs-vm"; import { HARDHAT_MEMPOOL_SUPPORTED_ORDERS } from "../../constants"; import { BuildInfo, HardhatNetworkChainsConfig } from "../../../types"; import { MessageTrace } from "../stack-traces/message-trace"; import { RandomBufferGenerator } from "./utils/random"; export declare type NodeConfig = LocalNodeConfig | ForkedNodeConfig; export declare function isForkedNodeConfig(config: NodeConfig): config is ForkedNodeConfig; interface CommonConfig { automine: boolean; blockGasLimit: number; chainId: number; genesisAccounts: GenesisAccount[]; hardfork: string; minGasPrice: bigint; networkId: number; allowUnlimitedContractSize?: boolean; initialDate?: Date; tracingConfig?: TracingConfig; initialBaseFeePerGas?: number; mempoolOrder: MempoolOrder; coinbase: string; chains: HardhatNetworkChainsConfig; allowBlocksWithSameTimestamp: boolean; confidential?: boolean; } export declare type LocalNodeConfig = CommonConfig; export interface ForkConfig { jsonRpcUrl: string; blockNumber?: number; httpHeaders?: { [name: string]: string; }; } export interface ForkedNodeConfig extends CommonConfig { forkConfig: ForkConfig; forkCachePath?: string; } export interface TracingConfig { buildInfos?: BuildInfo[]; } export declare type IntervalMiningConfig = number | [number, number]; export declare type MempoolOrder = typeof HARDHAT_MEMPOOL_SUPPORTED_ORDERS[number]; export interface GenesisAccount { privateKey: string; balance: string | number | bigint; } export declare type AccessListBufferItem = [Buffer, Buffer[]]; export interface CallParams { to?: Buffer; from: Buffer; gasLimit: bigint; value: bigint; data: Buffer; accessList?: AccessListBufferItem[]; gasPrice?: bigint; maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint; } export declare type TransactionParams = LegacyTransactionParams | AccessListTransactionParams | EIP1559TransactionParams; interface BaseTransactionParams { to?: Buffer; from: Buffer; gasLimit: bigint; value: bigint; data: Buffer; nonce: bigint; } export interface LegacyTransactionParams extends BaseTransactionParams { gasPrice: bigint; } export interface AccessListTransactionParams extends BaseTransactionParams { gasPrice: bigint; accessList: AccessListBufferItem[]; } export interface EIP1559TransactionParams extends BaseTransactionParams { accessList: AccessListBufferItem[]; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; } export interface FilterParams { fromBlock: bigint; toBlock: bigint; addresses: Buffer[]; normalizedTopics: Array | null>; } export interface Snapshot { id: number; date: Date; latestBlock: Block; stateRoot: Buffer; txPoolSnapshotId: number; blockTimeOffsetSeconds: bigint; nextBlockTimestamp: bigint; irregularStatesByBlockNumber: Map; userProvidedNextBlockBaseFeePerGas: bigint | undefined; coinbase: string; mixHashGenerator: RandomBufferGenerator; } export declare type SendTransactionResult = string | MineBlockResult | MineBlockResult[]; export interface MineBlockResult { block: Block; blockResult: RunBlockResult; traces: GatherTracesResult[]; } export interface RunCallResult extends GatherTracesResult { result: ReturnData; } export interface EstimateGasResult extends GatherTracesResult { estimation: bigint; } export interface GatherTracesResult { trace: MessageTrace | undefined; error?: Error; consoleLogMessages: string[]; } export interface FeeHistory { oldestBlock: bigint; baseFeePerGas: bigint[]; gasUsedRatio: number[]; reward?: bigint[][]; } export {}; //# sourceMappingURL=node-types.d.ts.map