UNPKG

kleros-escrow-data-service

Version:

Data service for interacting with Kleros Escrow

123 lines (122 loc) 4.96 kB
import { ethers } from "ethers"; import { KlerosEscrowConfig } from "../types/config"; import { BaseService } from "../base/BaseService"; import { BaseEvent, PaymentEvent, HasToPayFeeEvent, DisputeEvent, EvidenceEvent, RulingEvent, MetaEvidenceEvent } from "../types/events"; /** * Service for retrieving events from the Kleros Escrow contract */ export declare class EventService extends BaseService { /** * Creates a new EventService instance * @param config The Kleros Escrow configuration * @param provider Optional provider for read operations */ constructor(config: KlerosEscrowConfig, provider?: ethers.providers.Provider); /** * Normalizes a block parameter to ensure it's in the correct format for ethers.js * @param blockParam The block parameter (number, string, or undefined) * @returns The normalized block parameter */ private normalizeBlockParam; /** * Gets all events for a specific transaction * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns All events related to the transaction */ getEventsForTransaction(transactionId: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<BaseEvent[]>; /** * Gets transaction creation events * @param options Optional filter options including fromBlock and toBlock * @returns An array of transaction creation events */ getTransactionCreationEvents(options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<ethers.Event[]>; /** * Gets MetaEvidence events for a transaction with extended search capability * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns Array of MetaEvidence events */ getMetaEvidenceEvents(transactionId: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<MetaEvidenceEvent[]>; /** * Extended search for MetaEvidence events * Searches multiple block ranges until it finds at least one matching event * @param transactionId The ID of the transaction * @returns Array of MetaEvidence events */ private getMetaEvidenceEventsExtended; /** * Helper method to search for MetaEvidence events in a specific block range * @param transactionId The ID of the transaction * @param fromBlock The starting block number * @param toBlock The ending block number * @returns Array of MetaEvidence events */ private searchMetaEvidenceInRange; /** * Process raw MetaEvidence events into structured format * @param events Raw ethers.js events * @param transactionId The transaction ID * @returns Processed MetaEvidence events */ private processMetaEvidenceEvents; /** * Gets payment events * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns An array of payment events */ getPaymentEvents(transactionId?: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<PaymentEvent[]>; /** * Gets HasToPayFee events for a transaction * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns Array of HasToPayFee events */ getHasToPayFeeEvents(transactionId?: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<HasToPayFeeEvent[]>; /** * Gets dispute creation events * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns An array of dispute creation events */ getDisputeEvents(transactionId?: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<DisputeEvent[]>; /** * Gets evidence submission events * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns An array of evidence submission events */ getEvidenceEvents(transactionId?: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<EvidenceEvent[]>; /** * Gets ruling events * @param transactionId The ID of the transaction * @param options Optional filter options including fromBlock and toBlock * @returns An array of ruling events */ getRulingEvents(transactionId?: string, options?: { fromBlock?: number | string; toBlock?: number | string; }): Promise<RulingEvent[]>; }