import { IRemmeApi } from "remme-api"; import { IRemmeBlockchainInfo } from "./interface"; import { IBaseQuery, Batch, BatchList, Block, BlockList, State, StateList, Transaction, TransactionList, TransactionData, IStateQuery, INetworkStatus, BlockInfo, ICertVoteResponse, ICertVoteMessage, ICertVote, CertVote, CertVoteMessage, CertVoteMessagePayload } from "./models"; /** * Main class that works with blockchain data. Blocks, batches, transactions, addresses, peers. * @example * ```typescript * const blockInfo = await remme.blockchainInfo.getBlockInfo(); * console.log("blockInfo:", blockInfo); * const network = await remme.blockchainInfo.getNetworkStatus(); * console.log("network:", network); * const blocks = await remme.blockchainInfo.getBlocks(); * console.log("blocks:", blocks); * const block = await remme.blockchainInfo.getBlockById(blocks.data[1].header_signature); * console.log("block:", block); * const batches = await remme.blockchainInfo.getBatches(); * console.log("batches:", batches); * const batch = await remme.blockchainInfo.getBatchById(batches.data[1].header_signature); * console.log("batch:", batch); * const transactions = await remme.blockchainInfo.getTransactions(); * console.log("transactions:", transactions); * const transaction = await remme.blockchainInfo.getTransactionById(transactions.data[2].header_signature); * console.log("transaction:", transaction); * const parsedTransaction = remme.blockchainInfo.parseTransactionPayload(transaction.data); * console.log("parsedTransaction:", parsedTransaction); * const states = await remme.blockchainInfo.getState(); * console.log("states:", states); * const state = await remme.blockchainInfo.getStateByAddress(states.data[1].address); * console.log("state:", state); * const parsedState = remme.blockchainInfo.parseStateData(state); * console.log("parsedState:", parsedState); * const batchStatus = await remme.blockchainInfo.getBatchStatus(batches.data[1].header_signature); * console.log("batchStatus:", batchStatus); * const peers = await remme.blockchainInfo.getPeers(); * console.log("peers:", peers); * ``` */ declare class RemmeBlockchainInfo implements IRemmeBlockchainInfo { [key: string]: any; private readonly _remmeApi; private static address; private static correspond; private _checkId(id?); private _checkAddress(address?); /** * @example * Usage without remme main package * ```typescript * const remmeApi = new RemmeApi(); * const remmeBlockchainInfo = new RemmeBlockchainInfo(remmeApi); * ``` * @param {IRemmeApi} remmeApi */ constructor(remmeApi: IRemmeApi); /** * Get all blocks from REMChain. * You can specify one or more query parameters. * @example * Without query * ```typescript * const blocks = await remme.blockchainInfo.getBlocks(); * console.log(blocks); // BlockList * ``` * Reverse output * ```typescript * const blocks = await remme.blockchainInfo.getBlocks({ reverse: true }); * console.log(blocks); // BlockList * ``` * * Specify limit of output * ```typescript * const blocks = await remme.blockchainInfo.getBlocks({ limit: 2 }); * console.log(blocks); // BlockList * ``` * * Specify head of block for start * ```typescript * const blocks = await remme.blockchainInfo.getBlocks({ * head: "9d2dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef57491" * }); * console.log(blocks); // BlockList * ``` * @param {IBaseQuery} query * @returns {Promise} */ getBlocks(query?: IBaseQuery): Promise; /** * Get block by id (header_signature) from REMChain. * @example * ```typescript * const block = await remme.blockchainInfo.getBlockById( * "9d2dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef57491" * ); * console.log("block:", block); // Block * ``` * @param {string} id * @returns {Promise} */ getBlockById(id: string): Promise; /** * Get information about block. * @example * Without parameters. * ```typescript * const blocksInfo = await remme.blockchainInfo.getBlockInfo(); * console.log("blockInfo:", blockInfo); // BlockInfo * ``` * Start from specifying block number. * ```typescript * const blockInfo = await remme.blockchainInfo.getBlockInfo({ * start: 2 * }); * console.log(blockInfo); // BlockInfo * * Specify limit of output * ```typescript * const blockInfo = await remme.blockchainInfo.getBlockInfo({ limit: 2 }); * console.log(blockInfo); // BlockInfo * ``` * BlockInfo get next page * ```typescript * const blockInfo = await remme.blockchainInfo.getBlockInfo(); * console.log(blockInfo.data); // BlockInfoData[] * const blockInfoNextPage = await remme.blockchainInfo.getBlockInfo({ next: blockInfo.paging.next }); * console.log(blockInfoNextPage.data); // BlockInfoData[] * ``` * @param {IBaseQuery} query * @returns {Promise} */ getBlockInfo(query?: IBaseQuery): Promise; /** * Get all batches from REMChain. * @example * Without parameters * ```typescript * const batches = await remme.blockchainInfo.getBatches(); * console.log("batches:", batches); // BatchList * ``` * * Start from specifying batch header_signature (batch ID). * ```typescript * const batches = await remme.blockchainInfo.getBatches({ * start: "8e4dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef5fe5c" * }); * console.log(batches); // BatchList * ``` * * Reverse output * ```typescript * const batches = await remme.blockchainInfo.getBatches({ reverse: true }); * console.log(batches); // BatchList * ``` * * Specify limit of output * ```typescript * const batches = await remme.blockchainInfo.getBatches({ limit: 2 }); * console.log(batches); // BatchList * ``` * * Specify head of block for start * ```typescript * const batches = await remme.blockchainInfo.getBatches({ * head: "9d2dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef57491" * }); * console.log(batches); // BatchList * ``` * @param {IBaseQuery} query * @returns {Promise} */ getBatches(query?: IBaseQuery): Promise; /** * Get batch by id (header_signature) from REMChain. * @example * ```typescript * const batch = await remme.blockchainInfo.getBatchById( * "9d2dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef57491" * ); * console.log("batch:", batch); // Batch * ``` * @param {string} id * @returns {Promise} */ getBatchById(id: string): Promise; /** * Get status for batch. * @example * ```typescript * const batchStatus = await remme.blockchainInfo.getBatchStatus( * "8e4dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef5fe5c" * ); * console.log("batchStatus:", batchStatus); * ``` * @param {string} id * @returns {Promise} */ getBatchStatus(id: string): Promise; /** * Get states in REMChain * @example * Without parameters * ```typescript * const states = await remme.blockchainInfo.getState(); * console.log("states:", states); // StateList * ``` * * Start from specifying state address * ```typescript * const states = await remme.blockchainInfo.getState({ * start: "6a437247a1c12c0fb03aa6e242e6ce988d1cdc7fcc8c2a62ab3ab1202325d7d677e84c" * }); * console.log(states); // StateList * ``` * * Reverse output * ```typescript * const states = await remme.blockchainInfo.getState({ reverse: true }); * console.log(states); // StateList * ``` * * Specify limit of output * ```typescript * const states = await remme.blockchainInfo.getState({ limit: 2 }); * console.log(states); // StateList * ``` * * Specify head of block for start * ```typescript * const states = await remme.blockchainInfo.getState({ * address: "6a437247a1c12c0fb03aa6e242e6ce988d1cdc7fcc8c2a62ab3ab1202325d7d677e84c" * }); * console.log(states); // StateList * ``` * @param {IStateQuery} query * @returns {Promise} */ getState(query?: IStateQuery): Promise; /** * Get state by address * @example * ```typescript * const state = await remme.blockchainInfo.getStateByAddress( * "6a437247a1c12c0fb03aa6e242e6ce988d1cdc7fcc8c2a62ab3ab1202325d7d677e84c" * ); * console.log("state:", state); * ``` * @param {string} address * @returns {Promise} */ getStateByAddress(address: string): Promise; /** * Parse state data. * @example * ```typescript * const state = await remme.blockchainInfo.getStateByAddress( * "6a437247a1c12c0fb03aa6e242e6ce988d1cdc7fcc8c2a62ab3ab1202325d7d677e84c" * ); * const parsedState = remme.blockchainInfo.parseStateData(state); * console.log("parsedState:", parsedState); // { data: any, type: string } * ``` * @param {State} state * @returns {object} */ parseStateData(state: State): object; /** * Get all transactions from REMChain. * @example * Without parameters * ```typescript * const transactions = await remme.blockchainInfo.getBatches(); * console.log("transactions:", transactions); // TransactionList * ``` * * Start from specifying transactions header_signature. * ```typescript * const transactions = await remme.blockchainInfo.getTransactions({ * start: "f32fc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef543fe" * }); * console.log(transactions); // TransactionList * ``` * * Reverse output * ```typescript * const transactions = await remme.blockchainInfo.getTransactions({ reverse: true }); * console.log(transactions); // TransactionList * ``` * * Specify limit of output * ```typescript * const transactions = await remme.blockchainInfo.getTransactions({ limit: 2 }); * console.log(transactions); // TransactionList * ``` * * Specify head of block for start * ```typescript * const transactions = await remme.blockchainInfo.getTransactions({ * head: "9d2dc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef57491" * }); * console.log(transactions); // TransactionList * ``` * @param {IBaseQuery} query * @returns {Promise} */ getTransactions(query?: IBaseQuery): Promise; /** * Get transaction by id (header_signature) from REMChain * @example * ```typescript * const transaction = await remme.blockchainInfo.getTransactionById( * "f32fc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef543fe" * ); * console.log("transaction:", transaction); // Block * ``` * @param {string} id * @returns {Promise} */ getTransactionById(id: string): Promise; /** * Parse transaction payload. Take transaction and return object with payload and type * @example * ```typescript * const transaction = await remme.blockchainInfo.getTransactionById( * "f32fc2ab673d028bc1dd8b5be8d2d885e4383a827cd0261f58334252bf807c08113207eabbd12d0786d6bba5378a791129f9c520c17597b5504d4b547ef543fe" * ); * console.log("transaction:", transaction); * const parsedTransaction = remme.blockchainInfo.parseTransactionPayload(transaction.data); * console.log("parsedTransaction:", parsedTransaction); // { payload: any, type: string } * ``` * @param {Transaction} transaction * @returns {object} */ parseTransactionPayload(transaction: TransactionData): object; /** * Get network status for node. * @example * ```typescript * const networkStatus = await remme.blockchainInfo.getNetworkStatus(); * console.log(networkStatus); // INetworkStatus * ``` * @returns {Promise} */ getNetworkStatus(): Promise; /** * Get peers that connected to this node. * @example * ```typescript * const peers = await remme.blockchainInfo.getPeers(); * console.log(peers); // string[] * ``` * @returns {Promise} */ getPeers(): Promise; } export { RemmeBlockchainInfo, IRemmeBlockchainInfo, Block, BlockList, Batch, BatchList, Transaction, TransactionList, INetworkStatus, BlockInfo, IBaseQuery, State, StateList, ICertVoteResponse, ICertVoteMessage, ICertVote, CertVote, CertVoteMessage, CertVoteMessagePayload };