@pavlovcik/permit2-rpc-manager
Version:
Intelligent RPC manager with Permit2 validation and advanced fallback strategy
25 lines • 980 B
TypeScript
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