/** * @packageDocumentation * @module API-QuantumVM */ import LuxCore from "../../lux"; import { JRPCAPI } from "../../common/jrpcapi"; import { QuantumBlock, RingtailKeyPair, SignResponse, VerifyResponse, QuantumTransaction, QuantumConfig, QuantumHealthResponse } from "./interfaces"; /** * Class for interacting with a node's QuantumVM API (Q-Chain). * * @category RPCAPIs * * @remarks This extends the [[JRPCAPI]] class. This class should not be directly called. Instead, use the [[Lux.addAPI]] function to register this interface with Lux. */ export declare class QuantumVMAPI extends JRPCAPI { /** * Retrieves a block by its ID. * * @param id The block ID * * @returns Promise for a [[QuantumBlock]] */ getBlock: (id: string) => Promise; /** * Generates a new post-quantum ringtail key pair. * * @param algorithm Optional algorithm name (defaults to node configuration) * * @returns Promise for a [[RingtailKeyPair]] */ generateRingtailKey: (algorithm?: string) => Promise; /** * Signs a message using a post-quantum private key. * * @param message The message to sign * @param privateKey The private key to sign with * * @returns Promise for a [[SignResponse]] */ signWithQuantum: (message: string, privateKey: string) => Promise; /** * Verifies a post-quantum signature. * * @param message The original message * @param signature The signature to verify * @param publicKey The public key to verify against * * @returns Promise for a [[VerifyResponse]] */ verifyQuantumSignature: (message: string, signature: string, publicKey: string) => Promise; /** * Returns all pending transactions in the mempool. * * @returns Promise for an array of [[QuantumTransaction]] */ getPendingTransactions: () => Promise; /** * Returns the health status of the QuantumVM. * * @returns Promise for a [[QuantumHealthResponse]] */ getHealth: () => Promise; /** * Returns the current quantum configuration. * * @returns Promise for a [[QuantumConfig]] */ getConfig: () => Promise; /** * This class should not be instantiated directly. Instead use the [[Lux.addAPI]] method. * * @param core A reference to the Lux class * @param baseURL Defaults to the string "/ext/bc/Q/rpc" as the path to rpc's baseURL */ constructor(core: LuxCore, baseURL?: string); } //# sourceMappingURL=api.d.ts.map