/** * @packageDocumentation * @module API-ZKVM */ import LuxCore from "../../lux"; import { RESTAPI } from "../../common/restapi"; import { ZKTransaction, SendTransactionParams, SendTransactionResponse, ShieldedTransactionParams, ZKBlock, UTXO, UTXOCountResponse, ZKStatus, ZKAddress, GenerateAddressResponse, DecryptNoteParams, DecryptNoteResponse, NullifierStatus, TransferProofParams, TransferProofResponse, ShieldProofParams, ShieldProofResponse, VerifyProofParams, VerifyProofResponse, ProofStats } from "./interfaces"; /** * Class for interacting with the Z-Chain (ZK Chain) ZKVM API. * * @category RPCAPIs * * @remarks This extends the [[RESTAPI]] class. This class should not be directly called. * Instead, use the [[Lux.addAPI]] function to register this interface with Lux. */ export declare class ZKVMAPI extends RESTAPI { protected privacyURL: string; protected proofURL: string; /** * Submit a transaction to the Z-Chain. */ sendTransaction: (params: SendTransactionParams) => Promise; /** * Get a transaction by ID. */ getTransaction: (id: string) => Promise; /** * Create a shielded transaction. */ createShieldedTransaction: (params: ShieldedTransactionParams) => Promise; /** * Get a block by ID. */ getBlock: (id: string) => Promise; /** * Get the latest block. */ getLatestBlock: () => Promise; /** * Get a UTXO by ID. */ getUTXO: (id: string) => Promise; /** * Get the total UTXO count. */ getUTXOCount: () => Promise; /** * Get Z-Chain status. */ getStatus: () => Promise; /** * Generate a new shielded address. */ generateAddress: () => Promise; /** * Get address info. */ getAddress: (address: string) => Promise; /** * Decrypt an encrypted note using a view key. */ decryptNote: (params: DecryptNoteParams) => Promise; /** * Check if a nullifier has been spent. */ isNullifierSpent: (nullifier: string) => Promise; /** * Generate a zero-knowledge transfer proof. */ generateTransferProof: (params: TransferProofParams) => Promise; /** * Generate a zero-knowledge shield proof. */ generateShieldProof: (params: ShieldProofParams) => Promise; /** * Verify a zero-knowledge proof. */ verifyProof: (params: VerifyProofParams) => Promise; /** * Get proof generation and verification statistics. */ getProofStats: () => Promise; constructor(core: LuxCore, baseURL?: string); } //# sourceMappingURL=api.d.ts.map