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 AccessControlDefaultAdminRules extends ContractBase { address: TEth.Address; client: Web3Client; explorer: IBlockchainExplorer; constructor(address?: TEth.Address, client?: Web3Client, explorer?: IBlockchainExplorer); Types: TAccessControlDefaultAdminRulesTypes; $meta: { class: string; }; DEFAULT_ADMIN_ROLE(): Promise; acceptDefaultAdminTransfer(sender: TSender): Promise; beginDefaultAdminTransfer(sender: TSender, newAdmin: TAddress): Promise; cancelDefaultAdminTransfer(sender: TSender): Promise; changeDefaultAdminDelay(sender: TSender, newDelay: number): Promise; defaultAdmin(): Promise; defaultAdminDelay(): Promise; defaultAdminDelayIncreaseWait(): Promise; getRoleAdmin(role: TEth.Hex): Promise; grantRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; hasRole(role: TEth.Hex, account: TAddress): Promise; owner(): Promise; pendingDefaultAdmin(): Promise<{ newAdmin: TAddress; schedule: number; }>; pendingDefaultAdminDelay(): Promise<{ newDelay: number; schedule: number; }>; renounceRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; revokeRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; rollbackDefaultAdminDelay(sender: TSender): Promise; supportsInterface(interfaceId: TEth.Hex): Promise; $call(): IAccessControlDefaultAdminRulesTxCaller; $signed(): TOverrideReturns>; $data(): IAccessControlDefaultAdminRulesTxData; $gas(): TOverrideReturns>; onTransaction(method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx; block: TEth.Block; calldata: { method: TMethod; arguments: TAccessControlDefaultAdminRulesTypes['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>[]>; onDefaultAdminDelayChangeCanceled(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onDefaultAdminDelayChangeScheduled(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onDefaultAdminTransferCanceled(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onDefaultAdminTransferScheduled(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onRoleAdminChanged(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onRoleGranted(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onRoleRevoked(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; extractLogsDefaultAdminDelayChangeCanceled(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsDefaultAdminDelayChangeScheduled(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsDefaultAdminTransferCanceled(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsDefaultAdminTransferScheduled(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsRoleAdminChanged(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsRoleGranted(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsRoleRevoked(tx: TEth.TxReceipt): ITxLogItem>[]; getPastLogsDefaultAdminDelayChangeCanceled(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: {}; }): Promise>[]>; getPastLogsDefaultAdminDelayChangeScheduled(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: {}; }): Promise>[]>; getPastLogsDefaultAdminTransferCanceled(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: {}; }): Promise>[]>; getPastLogsDefaultAdminTransferScheduled(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { newAdmin?: TAddress; }; }): Promise>[]>; getPastLogsRoleAdminChanged(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { role?: TEth.Hex; previousAdminRole?: TEth.Hex; newAdminRole?: TEth.Hex; }; }): Promise>[]>; getPastLogsRoleGranted(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { role?: TEth.Hex; account?: TAddress; sender?: TAddress; }; }): Promise>[]>; getPastLogsRoleRevoked(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { role?: TEth.Hex; account?: TAddress; sender?: TAddress; }; }): Promise>[]>; abi: TAbiItem[]; } type TSender = TAccount & { value?: string | number | bigint; }; type TEventLogOptions = { fromBlock?: number | Date; toBlock?: number | Date; params?: TParams; }; export type TAccessControlDefaultAdminRulesTypes = { Events: { DefaultAdminDelayChangeCanceled: { outputParams: {}; outputArgs: []; }; DefaultAdminDelayChangeScheduled: { outputParams: { newDelay: number; effectSchedule: number; }; outputArgs: [newDelay: number, effectSchedule: number]; }; DefaultAdminTransferCanceled: { outputParams: {}; outputArgs: []; }; DefaultAdminTransferScheduled: { outputParams: { newAdmin: TAddress; acceptSchedule: number; }; outputArgs: [newAdmin: TAddress, acceptSchedule: number]; }; RoleAdminChanged: { outputParams: { role: TEth.Hex; previousAdminRole: TEth.Hex; newAdminRole: TEth.Hex; }; outputArgs: [role: TEth.Hex, previousAdminRole: TEth.Hex, newAdminRole: TEth.Hex]; }; RoleGranted: { outputParams: { role: TEth.Hex; account: TAddress; _sender: TAddress; }; outputArgs: [role: TEth.Hex, account: TAddress, _sender: TAddress]; }; RoleRevoked: { outputParams: { role: TEth.Hex; account: TAddress; _sender: TAddress; }; outputArgs: [role: TEth.Hex, account: TAddress, _sender: TAddress]; }; }; Methods: { DEFAULT_ADMIN_ROLE: { method: "DEFAULT_ADMIN_ROLE"; arguments: []; }; acceptDefaultAdminTransfer: { method: "acceptDefaultAdminTransfer"; arguments: []; }; beginDefaultAdminTransfer: { method: "beginDefaultAdminTransfer"; arguments: [newAdmin: TAddress]; }; cancelDefaultAdminTransfer: { method: "cancelDefaultAdminTransfer"; arguments: []; }; changeDefaultAdminDelay: { method: "changeDefaultAdminDelay"; arguments: [newDelay: number]; }; defaultAdmin: { method: "defaultAdmin"; arguments: []; }; defaultAdminDelay: { method: "defaultAdminDelay"; arguments: []; }; defaultAdminDelayIncreaseWait: { method: "defaultAdminDelayIncreaseWait"; arguments: []; }; getRoleAdmin: { method: "getRoleAdmin"; arguments: [role: TEth.Hex]; }; grantRole: { method: "grantRole"; arguments: [role: TEth.Hex, account: TAddress]; }; hasRole: { method: "hasRole"; arguments: [role: TEth.Hex, account: TAddress]; }; owner: { method: "owner"; arguments: []; }; pendingDefaultAdmin: { method: "pendingDefaultAdmin"; arguments: []; }; pendingDefaultAdminDelay: { method: "pendingDefaultAdminDelay"; arguments: []; }; renounceRole: { method: "renounceRole"; arguments: [role: TEth.Hex, account: TAddress]; }; revokeRole: { method: "revokeRole"; arguments: [role: TEth.Hex, account: TAddress]; }; rollbackDefaultAdminDelay: { method: "rollbackDefaultAdminDelay"; arguments: []; }; supportsInterface: { method: "supportsInterface"; arguments: [interfaceId: TEth.Hex]; }; }; }; interface IAccessControlDefaultAdminRulesTxCaller { acceptDefaultAdminTransfer(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; beginDefaultAdminTransfer(sender: TSender, newAdmin: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; cancelDefaultAdminTransfer(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; changeDefaultAdminDelay(sender: TSender, newDelay: number): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; grantRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; renounceRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; revokeRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; rollbackDefaultAdminDelay(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; } interface IAccessControlDefaultAdminRulesTxData { acceptDefaultAdminTransfer(sender: TSender): Promise; beginDefaultAdminTransfer(sender: TSender, newAdmin: TAddress): Promise; cancelDefaultAdminTransfer(sender: TSender): Promise; changeDefaultAdminDelay(sender: TSender, newDelay: number): Promise; grantRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; renounceRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; revokeRole(sender: TSender, role: TEth.Hex, account: TAddress): Promise; rollbackDefaultAdminDelay(sender: TSender): Promise; } type TEvents = TAccessControlDefaultAdminRulesTypes['Events']; type TEventParams = Partial; type TEventArguments = Partial; export {};