/** * Ethereum transaction signing and contract interaction layer. * * Provides the missing transaction capability to Milady's wallet system, * which currently only handles key generation and balance fetching. * Used by the registry and drop services for on-chain operations. */ import { ethers } from "ethers"; export declare class TxService { private readonly provider; private readonly wallet; private readonly rpcUrl; constructor(rpcUrl: string, privateKey: string); /** * Get fresh nonce for the wallet address. * Always fetches from blockchain using a fresh provider to avoid caching issues. * This ensures we always get the correct nonce even after failed transactions. */ getFreshNonce(): Promise; get address(): string; getBalance(): Promise; getBalanceFormatted(): Promise; getChainId(): Promise; getContract(address: string, abi: ethers.InterfaceAbi): ethers.Contract; getReadOnlyContract(address: string, abi: ethers.InterfaceAbi): ethers.Contract; estimateGas(tx: ethers.TransactionRequest): Promise; getFeeData(): Promise; /** * Wait for a transaction to be mined and return the receipt. * Throws if the transaction fails or times out. */ waitForTransaction(txHash: string, confirmations?: number, timeoutMs?: number): Promise; /** * Estimate the gas cost in ETH for a contract call. * Useful for showing users how much gas they'll need. */ estimateGasCostEth(tx: ethers.TransactionRequest): Promise; /** * Check whether the wallet has enough balance for a given value + estimated gas. */ hasEnoughBalance(value: bigint, gasEstimate: bigint): Promise; /** * Log a summary of the tx service state for diagnostics. */ logStatus(): Promise; } //# sourceMappingURL=tx-service.d.ts.map