UNPKG

@elephant-xyz/cli

Version:
29 lines 1.55 kB
import { BlockchainService } from './blockchain.service.js'; import { ABI } from '../types/index.js'; export declare class ChainStateService extends BlockchainService { private submitContract; private userSubmissionsCache; private consensusDataCache; constructor(rpcUrl: string, contractAddress: string, submitContractAddress: string, abi: ABI, submitAbi?: ABI); prepopulateConsensusCache(): Promise<void>; /** * Gets the current data CID for a given property and data group. * @param propertyCid The property CID. * @param dataGroupCid The data group CID. * @returns The current data CID or null if not found or invalid. */ getCurrentDataCid(propertyCid: string, dataGroupCid: string): Promise<string | null>; /** * Checks if a specific user has already submitted data for the given CIDs combination * by querying all historical 'DataSubmitted' events for that user once and caching the results. * @param userAddress The user's wallet address. * @param propertyCid The property CID. * @param dataGroupCid The data group CID. * @param dataCid The data CID. * @returns True if the user has already submitted this data according to event logs, false otherwise or on error. */ hasUserSubmittedData(userAddress: string, propertyCid: string, dataGroupCid: string, dataCid: string): Promise<boolean>; getUserSubmissions(userAddress: string): Promise<Set<string>>; private _queryEventsInChunks; } //# sourceMappingURL=chain-state.service.d.ts.map