import { PublicKey, TransactionInstruction } from '@solana/web3.js'; import { Address, HexString } from '@hyperlane-xyz/utils'; import { BaseSealevelAdapter } from '../../app/MultiProtocolApp.js'; import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js'; import { TypedTransactionReceipt } from '../../providers/ProviderType.js'; import { ChainName } from '../../types.js'; import { ICoreAdapter } from './types.js'; export declare class SealevelCoreAdapter extends BaseSealevelAdapter implements ICoreAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProviderAdapter; readonly addresses: { mailbox: Address; }; constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: { mailbox: Address; }); extractMessageIds(sourceTx: TypedTransactionReceipt): Array<{ messageId: HexString; destination: ChainName; }>; waitForMessageProcessed(messageId: string, destination: ChainName, delayMs?: number, maxAttempts?: number): Promise; isDelivered(messageId: HexString, _blockTag?: string | number): Promise; static parseMessageDispatchLogs(logs: string[]): Array<{ destination: string; messageId: string; }>; static deriveMailboxInboxPda(mailboxProgramId: string | PublicKey): PublicKey; static deriveMailboxOutboxPda(mailboxProgramId: string | PublicKey): PublicKey; static deriveMailboxDispatchedMessagePda(mailboxProgramId: string | PublicKey, uniqueMessageAccount: string | PublicKey): PublicKey; static deriveMailboxDispatchAuthorityPda(programId: string | PublicKey): PublicKey; static deriveMailboxProcessAuthorityPda(mailboxProgramId: string | PublicKey, recipient: string | PublicKey): PublicKey; static deriveMailboxMessageProcessedPda(mailboxProgramId: string | PublicKey, messageId: HexString): PublicKey; /** * Create a SetDefaultIsm instruction * @param mailboxProgramId - The mailbox program ID * @param owner - The current owner who can set the ISM * @param newIsm - The new ISM program address to set as default * @returns TransactionInstruction */ createSetDefaultIsmInstruction(mailboxProgramId: PublicKey, owner: PublicKey, newIsm: PublicKey): TransactionInstruction; /** * Create a TransferOwnership instruction * @param mailboxProgramId - The mailbox program ID * @param owner - The current owner * @param newOwner - The new owner (null to renounce ownership) * @returns TransactionInstruction */ createTransferOwnershipInstruction(mailboxProgramId: PublicKey, owner: PublicKey, newOwner: PublicKey | null): TransactionInstruction; } //# sourceMappingURL=SealevelCoreAdapter.d.ts.map