import { TAddress } from '../../models/TAddress'; import { ClientEventsStream, TClientEventsStreamData } from '../../clients/ClientEventsStream'; import { ContractBase } from '../../contracts/ContractBase'; import { ITxLogItem } from '../../txs/receipt/ITxLogItem'; import { Web3Client } from '../../clients/Web3Client'; import { IBlockchainExplorer } from '../../explorer/IBlockchainExplorer'; import { SubjectStream } from '../../class/SubjectStream'; import type { TAbiItem } from '../../types/TAbi'; import type { TEth } from '../../models/TEth'; import type { TOverrideReturns } from '../../utils/types'; export declare namespace EIP712Errors { interface InvalidShortString { type: 'InvalidShortString'; params: {}; } interface StringTooLong { type: 'StringTooLong'; params: { str: string; }; } type Error = InvalidShortString | StringTooLong; } export declare class EIP712 extends ContractBase { address: TEth.Address; client: Web3Client; explorer: IBlockchainExplorer; constructor(address?: TEth.Address, client?: Web3Client, explorer?: IBlockchainExplorer); Types: TEIP712Types; $meta: { class: string; }; eip712Domain(): Promise<{ fields: TEth.Hex; name: string; version: string; chainId: bigint; verifyingContract: TAddress; salt: TEth.Hex; extensions: bigint[]; }>; $call(): IEIP712TxCaller; $signed(): TOverrideReturns>; $data(): IEIP712TxData; $gas(): TOverrideReturns>; onTransaction(method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx; block: TEth.Block; calldata: { method: TMethod; arguments: TEIP712Types['Methods'][TMethod]['arguments']; }; }>; onLog(event: keyof TEvents, cb?: (event: TClientEventsStreamData) => void): ClientEventsStream; getPastLogs(events: TEventName[], options?: TEventLogOptions>): Promise, TEventName>[]>; getPastLogs(event: TEventName, options?: TEventLogOptions>): Promise, TEventName>[]>; onEIP712DomainChanged(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; extractLogsEIP712DomainChanged(tx: TEth.TxReceipt): ITxLogItem>[]; getPastLogsEIP712DomainChanged(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: {}; }): Promise>[]>; abi: TAbiItem[]; } type TEventLogOptions = { fromBlock?: number | Date; toBlock?: number | Date; params?: TParams; }; export type TEIP712Types = { Events: { EIP712DomainChanged: { outputParams: {}; outputArgs: []; }; }; Methods: { eip712Domain: { method: "eip712Domain"; arguments: []; }; }; }; interface IEIP712TxCaller { } interface IEIP712TxData { } type TEvents = TEIP712Types['Events']; type TEventParams = Partial; type TEventArguments = Partial; export {};