import { TAddress } from '../../models/TAddress'; import { TAccount } from '../../models/TAccount'; import { ClientEventsStream, TClientEventsStreamData } from '../../clients/ClientEventsStream'; import { ContractBase } from '../../contracts/ContractBase'; import { TxWriter } from '../../txs/TxWriter'; 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 class ICompoundTimelock extends ContractBase { address: TEth.Address; client: Web3Client; explorer: IBlockchainExplorer; constructor(address?: TEth.Address, client?: Web3Client, explorer?: IBlockchainExplorer); Types: TICompoundTimelockTypes; $meta: { class: string; }; GRACE_PERIOD(): Promise; MAXIMUM_DELAY(): Promise; MINIMUM_DELAY(): Promise; acceptAdmin(sender: TSender): Promise; admin(): Promise; cancelTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; delay(): Promise; executeTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; pendingAdmin(): Promise; queueTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; queuedTransactions(input0: TEth.Hex): Promise; setDelay(sender: TSender, input0: bigint): Promise; setPendingAdmin(sender: TSender, input0: TAddress): Promise; $call(): IICompoundTimelockTxCaller; $signed(): TOverrideReturns>; $data(): IICompoundTimelockTxData; $gas(): TOverrideReturns>; onTransaction(method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx; block: TEth.Block; calldata: { method: TMethod; arguments: TICompoundTimelockTypes['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>[]>; onCancelTransaction(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onExecuteTransaction(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNewAdmin(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNewDelay(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNewPendingAdmin(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onQueueTransaction(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; extractLogsCancelTransaction(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsExecuteTransaction(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNewAdmin(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNewDelay(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNewPendingAdmin(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsQueueTransaction(tx: TEth.TxReceipt): ITxLogItem>[]; getPastLogsCancelTransaction(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { txHash?: TEth.Hex; target?: TAddress; }; }): Promise>[]>; getPastLogsExecuteTransaction(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { txHash?: TEth.Hex; target?: TAddress; }; }): Promise>[]>; getPastLogsNewAdmin(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { newAdmin?: TAddress; }; }): Promise>[]>; getPastLogsNewDelay(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { newDelay?: bigint; }; }): Promise>[]>; getPastLogsNewPendingAdmin(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { newPendingAdmin?: TAddress; }; }): Promise>[]>; getPastLogsQueueTransaction(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { txHash?: TEth.Hex; target?: TAddress; }; }): Promise>[]>; abi: TAbiItem[]; } type TSender = TAccount & { value?: string | number | bigint; }; type TEventLogOptions = { fromBlock?: number | Date; toBlock?: number | Date; params?: TParams; }; export type TICompoundTimelockTypes = { Events: { CancelTransaction: { outputParams: { txHash: TEth.Hex; target: TAddress; value: bigint; signature: string; data: TEth.Hex; eta: bigint; }; outputArgs: [txHash: TEth.Hex, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; ExecuteTransaction: { outputParams: { txHash: TEth.Hex; target: TAddress; value: bigint; signature: string; data: TEth.Hex; eta: bigint; }; outputArgs: [txHash: TEth.Hex, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; NewAdmin: { outputParams: { newAdmin: TAddress; }; outputArgs: [newAdmin: TAddress]; }; NewDelay: { outputParams: { newDelay: bigint; }; outputArgs: [newDelay: bigint]; }; NewPendingAdmin: { outputParams: { newPendingAdmin: TAddress; }; outputArgs: [newPendingAdmin: TAddress]; }; QueueTransaction: { outputParams: { txHash: TEth.Hex; target: TAddress; value: bigint; signature: string; data: TEth.Hex; eta: bigint; }; outputArgs: [txHash: TEth.Hex, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; }; Methods: { GRACE_PERIOD: { method: "GRACE_PERIOD"; arguments: []; }; MAXIMUM_DELAY: { method: "MAXIMUM_DELAY"; arguments: []; }; MINIMUM_DELAY: { method: "MINIMUM_DELAY"; arguments: []; }; acceptAdmin: { method: "acceptAdmin"; arguments: []; }; admin: { method: "admin"; arguments: []; }; cancelTransaction: { method: "cancelTransaction"; arguments: [target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; delay: { method: "delay"; arguments: []; }; executeTransaction: { method: "executeTransaction"; arguments: [target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; pendingAdmin: { method: "pendingAdmin"; arguments: []; }; queueTransaction: { method: "queueTransaction"; arguments: [target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint]; }; queuedTransactions: { method: "queuedTransactions"; arguments: [input0: TEth.Hex]; }; setDelay: { method: "setDelay"; arguments: [input0: bigint]; }; setPendingAdmin: { method: "setPendingAdmin"; arguments: [input0: TAddress]; }; }; }; interface IICompoundTimelockTxCaller { acceptAdmin(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; cancelTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; executeTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; queueTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; setDelay(sender: TSender, input0: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; setPendingAdmin(sender: TSender, input0: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; } interface IICompoundTimelockTxData { acceptAdmin(sender: TSender): Promise; cancelTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; executeTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; queueTransaction(sender: TSender, target: TAddress, value: bigint, signature: string, data: TEth.Hex, eta: bigint): Promise; setDelay(sender: TSender, input0: bigint): Promise; setPendingAdmin(sender: TSender, input0: TAddress): Promise; } type TEvents = TICompoundTimelockTypes['Events']; type TEventParams = Partial; type TEventArguments = Partial; export {};