@bronlabs/intents-sdk
Version:
SDK for Intents DeFi smart contracts
41 lines (40 loc) • 1.19 kB
TypeScript
import { ethers } from 'ethers';
import { IntentsConfig } from './config.js';
export interface OrderStatusChangedEvent {
type: 'OrderStatusChanged';
data: {
orderId: string;
status: number;
};
event: ethers.EventLog;
retries: number;
}
type EventProcessor = (event: OrderStatusChangedEvent) => Promise<void>;
export declare class OrderIndexer {
private readonly config;
private readonly httpProvider;
private wsProvider;
private wsOrderEngine;
private readonly orderEngine;
private readonly eventQueue;
private readonly processors;
private isRunning;
private lastProcessedBlock;
private readonly rpcTimeoutMs;
private isProcessingQueue;
private reconnectTimeout;
private healthCheckInterval;
constructor(config: IntentsConfig);
addProcessor(processor: EventProcessor): void;
start(): Promise<void>;
stop(): Promise<void>;
private processHistoricalEvents;
private startWebSocketListener;
private monitorWebSocketHealth;
private reconnectWebSocket;
private withTimeout;
private processBlockRange;
private processEventQueue;
private debugTrace;
}
export {};