/// /// import { ContractType, VmType } from "../../types/web3"; import type { BaseProvider, DeployContractParams, CallContractResponse, DeployContractResponse, WatchContractEventCallback, WatchContractEventParams } from "../providers/base-provider"; export type CallContractArgType = string | number | boolean | string[]; export interface ContractOptions { contractName?: string; contractType?: ContractType; abi?: string | Record[]; } export interface CallContractParams { methodName: string; timeout?: number; args?: CallContractArgType[]; gas?: number; notParseReturn?: boolean; callData?: string; argsType?: string[]; returnType?: string; blockNumber?: number; local?: boolean; tee?: boolean; } export interface DeployContractOptions { update?: boolean; } export declare class Contract { options: ContractOptions; provider: BaseProvider; contractName: string; contractType: ContractType; vmType: VmType; abi: string; constructor(options: ContractOptions, provider: BaseProvider); on(params: WatchContractEventParams, callback: WatchContractEventCallback): void; deploy(params: DeployContractParams, options?: DeployContractOptions): Promise; call(params: CallContractParams): Promise>; generateDeployCode(code: Buffer, parameters?: any[]): string; generateUpdateCode(code: Buffer): string; generateCallCode(methodName: string, parameters?: any[]): string; parseReturnOutput(methodName: string, output: string): ReturnValue; parseErrorOutput(output: string): string; }