@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
55 lines (54 loc) • 1.4 kB
TypeScript
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 {};