import { Encoded } from '../utils/encoder.js'; import Node from '../Node.js'; /** * @category oracle */ type OracleQueryNode = Awaited>; /** * @category oracle */ export interface OracleQuery extends OracleQueryNode { id: Encoded.OracleQueryId; decodedQuery: string; decodedResponse: string; } /** * This class is needed because `getOracleQuery` would return different values depending on the * oracle type. * @category oracle */ export default class OracleBase { readonly address: Encoded.OracleAddress; options: { onNode: Node; }; /** * @param address - Oracle public key */ constructor(address: Encoded.OracleAddress, options: { onNode: Node; }); /** * Get oracle entry from the node * @param options - Options object */ getState(options?: { onNode?: Node; }): ReturnType; /** * Get oracle queries from the node * @param options - Options object */ getQueries(options?: { onNode?: Node; }): Promise; /** * Get oracle query entry from the node * @param queryId - Oracle query ID * @param options - Options object */ getQuery(queryId: Encoded.OracleQueryId, options?: { onNode?: Node; }): Promise; } export {};