import type { SupportedChain } from "../../types/index.js"; import type { SimulateTransactionArgs } from "./schemas.js"; export interface SimulationResult { chain: SupportedChain; ok: boolean; returnData?: `0x${string}`; revertReason?: string; } /** * Run an eth_call against the chain's RPC. Does NOT change state — this is the * same primitive wallets use for contract reads, extended here to catch reverts * that a blind signature would otherwise waste gas on. Used in two places: * 1. The standalone `simulate_transaction` MCP tool (agent-facing). * 2. `sendTransaction` just before forwarding to Ledger — a second-line * safety net that refuses to sign a tx that will definitely revert. */ export declare function simulateTx(args: { chain: SupportedChain; from?: `0x${string}`; to: `0x${string}`; data?: `0x${string}`; value?: string; }): Promise; export declare function simulateTransaction(args: SimulateTransactionArgs): Promise;