UNPKG

kleros-escrow-data-service

Version:

Data service for interacting with Kleros Escrow

119 lines (118 loc) 3.82 kB
import { ethers } from "ethers"; import { TransactionService, DisputeService, ArbitratorService, IPFSService, EventService } from "../services"; import { KlerosEscrowConfig } from "../types"; import { TransactionActions, DisputeActions, EvidenceActions } from "../actions"; /** * Client for interacting with Kleros Escrow services */ export declare class KlerosEscrowClient { private config; /** * Services for reading data */ readonly services: { transaction: TransactionService; dispute: DisputeService; arbitrator: ArbitratorService; event: EventService; ipfs: IPFSService; }; /** * Actions for writing data (only available if a signer is provided) */ readonly actions?: { transaction: TransactionActions; dispute: DisputeActions; evidence: EvidenceActions; }; /** * Creates a new KlerosEscrowClient * @param config The Kleros Escrow configuration * @param signer Optional signer for write operations */ constructor(config: KlerosEscrowConfig, signer?: ethers.Signer); /** * Gets the configuration used by this client * @returns The Kleros Escrow configuration */ getConfig(): KlerosEscrowConfig; /** * Checks if this client has write capabilities * @returns True if the client can perform write operations */ canWrite(): boolean; /** * Convenience method to get a transaction by ID * @param transactionId The ID of the transaction to fetch * @returns The transaction data */ getTransaction(transactionId: string): Promise<import("../types").Transaction>; /** * Convenience method to get a dispute by transaction ID * @param transactionId The ID of the transaction * @returns The dispute data if it exists */ getDispute(transactionId: string): Promise<import("../types").Dispute | null>; /** * Convenience method to get the arbitrator information * @returns The arbitrator information */ getArbitrator(): Promise<import("../types").Arbitrator>; /** * Convenience method to fetch data from IPFS * @param path The IPFS path or CID * @returns The data from IPFS */ fetchFromIPFS(path: string): Promise<any>; getTransactionDetails(transactionId: string): Promise<{ rulings: { _arbitrator: string; _disputeID: string; blockNumber: string; blockTimestamp: string; _ruling: string; transactionHash: string; }[]; metaEvidences: { id: string; blockTimestamp: string; transactionHash: string; _evidence: string; blockNumber: string; _metaEvidenceID: string; }[]; payments: { id: string; _transactionID: string; _amount: string; _party: string; blockNumber: string; blockTimestamp: string; transactionHash: string; }[]; evidences: { _arbitrator: string; _party: string; _evidence: string; _evidenceGroupID: string; blockNumber: string; transactionHash: string; }[]; disputes: { _arbitrator: string; _disputeID: string; blockNumber: string; blockTimestamp: string; _metaEvidenceID: string; _evidenceGroupID: string; transactionHash: string; }[]; hasToPayFees: { _transactionID: string; blockNumber: string; blockTimestamp: string; _party: string; transactionHash: string; }[]; }>; }