@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
30 lines • 1.73 kB
TypeScript
import { TimelockController } from '@hyperlane-xyz/core';
import { Address } from '@hyperlane-xyz/utils';
import { MultiProvider } from '../../providers/MultiProvider.js';
import { EvmEventLogsReader, EvmEventLogsReaderConfig } from '../../rpc/evm/EvmEventLogsReader.js';
import { ChainNameOrId } from '../../types.js';
import { ExecutableTimelockTx, TimelockTx } from '../types.js';
export type EvmTimelockReaderConfig = {
chain: Readonly<ChainNameOrId>;
timelockAddress: Readonly<Address>;
multiProvider: Readonly<MultiProvider>;
} & EvmEventLogsReaderConfig;
export declare class EvmTimelockReader {
protected readonly chain: ChainNameOrId;
protected readonly multiProvider: MultiProvider;
protected timelockInstance: TimelockController;
protected evmLogReader: EvmEventLogsReader;
protected constructor(chain: ChainNameOrId, multiProvider: MultiProvider, timelockInstance: TimelockController, evmLogReader: EvmEventLogsReader);
static fromConfig(config: EvmTimelockReaderConfig): EvmTimelockReader;
getOperationsSalt(): Promise<Record<string, string>>;
getScheduledOperations(): Promise<Record<string, TimelockTx>>;
getCancelledOperationIds(): Promise<Set<string>>;
getExecutedOperationIds(): Promise<Set<string>>;
getReadyOperationIds(operationIds: string[]): Promise<Set<string>>;
getScheduledExecutableTransactions(): Promise<Record<string, ExecutableTimelockTx>>;
hasRole(address: Address, role: string): Promise<boolean>;
canExecuteOperations(address: Address): Promise<boolean>;
canCancelOperations(address: Address): Promise<boolean>;
canScheduleOperations(address: Address): Promise<boolean>;
}
//# sourceMappingURL=EvmTimelockReader.d.ts.map