import type { Abi } from "viem"; import { type ContractFunctionArgs, type ContractFunctionName, type ContractFunctionParameters, type ReadContractReturnType } from "viem"; import type { AnvilClient } from "./createAnvilClient.js"; export type ReplaceStorageParams = ContractFunctionName, args extends ContractFunctionArgs = ContractFunctionArgs> = ContractFunctionParameters & { /** * New value to set */ value: bigint; /** * Comparison function, that returns true if value read from contract matches new value * @param readVal - value read by contract function, can be tuple, struct, etc... * @param value - new value to be set * @returns */ slotMatch: (readVal: ReadContractReturnType, value: bigint) => boolean; }; /** * Replaces bigint value in contract storage * Success is checked by reading contract function and asserting that its return contains new value * @param client * @param params * @returns */ export declare function replaceStorage, const args extends ContractFunctionArgs>(client: AnvilClient, params: ReplaceStorageParams): Promise;