UNPKG

@aeternity/aepp-sdk

Version:

SDK for the æternity blockchain

55 lines (54 loc) 1.4 kB
import { Encoded } from '../utils/encoder.js'; import Node from '../Node.js'; /** * @category oracle */ type OracleQueryNode = Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>>; /** * @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<Node['getOracleByPubkey']>; /** * Get oracle queries from the node * @param options - Options object */ getQueries(options?: { onNode?: Node; }): Promise<OracleQuery[]>; /** * Get oracle query entry from the node * @param queryId - Oracle query ID * @param options - Options object */ getQuery(queryId: Encoded.OracleQueryId, options?: { onNode?: Node; }): Promise<OracleQuery>; } export {};