UNPKG

@pavlovcik/permit2-rpc-manager

Version:

Intelligent RPC manager with Permit2 validation and advanced fallback strategy

25 lines 980 B
import { Abi, Address } from "viem"; import { Permit2RpcManager } from "./permit2-rpc-manager.ts"; type LoggerFn = (level: "debug" | "info" | "warn" | "error", message: string, ...optionalParams: any[]) => void; /** * Options for calling a read-only contract function. */ export interface ReadContractOptions { manager: Permit2RpcManager; chainId: number; address: Address; abi: Abi; functionName: string; args?: any[]; logger?: LoggerFn; } /** * Calls a read-only smart contract function using eth_call via the Permit2RpcManager. * * @param options - The options for the contract call. * @returns The decoded result of the function call. * @throws If the function doesn't exist in the ABI, the call reverts, or the Permit2RpcManager fails. */ export declare function readContract<T = any>({ manager, chainId, address, abi, functionName, args, logger, }: ReadContractOptions): Promise<T>; export {}; //# sourceMappingURL=contract-utils.d.ts.map