import { ChainId, SignedVaa } from "@certusone/wormhole-sdk"; import { FetchaVaasOpts, ListenerFn, ParsedVaaWithBytes, RelayerEvents, } from "./application.js"; import { Logger } from "winston"; import { Environment } from "./environment.js"; export type FetchVaaFn = ( emitterChain: ChainId | string, emitterAddress: Buffer | string, sequence: bigint | string, opts?: { retryTimeout?: number; retries?: number }, ) => Promise; export type FetchVaasFn = ( opts: FetchaVaasOpts, ) => Promise; export interface Context { vaa?: ParsedVaaWithBytes; vaaBytes?: SignedVaa; locals: Record; fetchVaa: FetchVaaFn; fetchVaas: FetchVaasFn; processVaa: (vaa: Buffer) => Promise; env: Environment; logger?: Logger; on: (eventName: RelayerEvents, listener: ListenerFn) => void; config: { spyFilters: { emitterFilter?: { chainId?: ChainId; emitterAddress?: string }; }[]; }; }