import { HardhatRuntimeEnvironment } from "hardhat/types/hre"; import type { ForkEnvironment, NetworkManager, DeployedContract, ContractInteraction, InteractionResult } from "./types.js"; /** * Manages blockchain forking and network state manipulation for dynamic analysis */ export declare class ForkManager implements NetworkManager { private hre; private currentFork?; constructor(hre: HardhatRuntimeEnvironment); /** * Fork Ethereum mainnet at a specific block */ forkMainnet(blockNumber?: number): Promise; /** * Fork a testnet at a specific block */ forkTestnet(network: string, blockNumber?: number): Promise; /** * Reset the fork to clean state */ resetFork(): Promise; /** * Set the balance of an account */ setBalance(address: string, balance: string): Promise; /** * Set storage slot value */ setStorageAt(address: string, slot: string, value: string): Promise; /** * Mine blocks */ mine(blocks?: number): Promise; /** * Set next block timestamp */ setNextBlockTimestamp(timestamp: number): Promise; /** * Deploy a contract for testing */ deployContract(contractName: string, constructorArgs?: any[], deployer?: string): Promise; /** * Execute contract interaction */ executeInteraction(interaction: ContractInteraction): Promise; /** * Get current fork environment */ getCurrentFork(): ForkEnvironment | undefined; /** * Convert string amount to hex (for RPC calls) */ private toHex; /** * Simulate economic shock (price manipulation) */ simulatePriceShock(oracleAddress: string, newPrice: string, priceSlot?: string): Promise; /** * Simulate network congestion (high gas prices, slow transactions) */ simulateNetworkCongestion(baseFee: string, maxPriorityFee: string): Promise; /** * Advance time on the blockchain */ advanceTime(seconds: number): Promise; /** * Snapshot current state */ snapshot(): Promise; /** * Restore from snapshot */ revert(snapshotId: string): Promise; } //# sourceMappingURL=fork-manager.d.ts.map