UNPKG

@nosana/kit

Version:

Nosana KIT

23 lines (22 loc) 1.15 kB
import type { Account } from '@solana/kit'; import type { ProgramDeps } from '../../../../types.js'; import type { ProgramConfig } from '../../../../config/types.js'; import type { JobsProgram, Job, Market, Run } from '../JobsProgram.js'; import * as programClient from '../../../../generated_clients/jobs/index.js'; import { type MonitorEvent, type SimpleMonitorEvent } from './types.js'; export interface MonitorDeps { deps: ProgramDeps; config: ProgramConfig; client: typeof programClient; transformJobAccount: (jobAccount: Account<programClient.JobAccount>) => Job; transformRunAccount: (runAccount: Account<programClient.RunAccount>) => Run; transformMarketAccount: (marketAccount: Account<programClient.MarketAccount>) => Market; mergeRunIntoJob: (job: Job, run: Run) => Job; } /** * Factory function to create monitor functions */ export declare function createMonitorFunctions(get: JobsProgram['get'], runs: JobsProgram['runs'], monitorDeps: MonitorDeps): { monitor(): Promise<[AsyncIterable<SimpleMonitorEvent>, () => void]>; monitorDetailed(): Promise<[AsyncIterable<MonitorEvent>, () => void]>; };