import { NomadContext } from '..'; import { Dispatch } from '../messages/types'; /** * Abstract class required for operation of NomadMessage */ export abstract class MessageBackend { abstract getContext(): NomadContext; abstract getDispatches( tx: string, limit?: number, ): Promise; abstract getFirstMessageHash(tx: string): Promise; abstract getDispatchByMessageHash(messageHash: string): Promise; abstract dispatchTx(messageHash: string): Promise; abstract updateTx(messageHash: string): Promise; abstract relayTx(messageHash: string): Promise; abstract processTx(messageHash: string): Promise; abstract dispatchedAt(messageHash: string): Promise; abstract updatedAt(messageHash: string): Promise; abstract relayedAt(messageHash: string): Promise; abstract processedAt(messageHash: string): Promise; abstract destinationDomainId( messageHash: string, ): Promise; }