@hiero-ledger/sdk
Version:
121 lines (120 loc) • 4.38 kB
TypeScript
/**
* @typedef {import("./Provider.js").Provider} Provider
* @typedef {import("./LedgerId.js").default} LedgerId
* @typedef {import("./Key.js").default} Key
* @typedef {import("./transaction/Transaction.js").default} Transaction
* @typedef {import("./transaction/TransactionId.js").default} TransactionId
* @typedef {import("./transaction/TransactionResponse.js").default} TransactionResponse
* @typedef {import("./transaction/TransactionReceipt.js").default} TransactionReceipt
* @typedef {import("./transaction/TransactionRecord.js").default} TransactionRecord
* @typedef {import("./account/AccountId.js").default} AccountId
* @typedef {import("./account/AccountBalance.js").default} AccountBalance
* @typedef {import("./account/AccountInfo.js").default} AccountInfo
* @typedef {import("./logger/Logger.js").default} Logger
*/
/**
* @template {any} O
* @typedef {import("./query/Query.js").default<O>} Query<O>
*/
/**
* @template RequestT
* @template ResponseT
* @template OutputT
* @typedef {import("./Executable.js").default<RequestT, ResponseT, OutputT>} Executable<RequestT, ResponseT, OutputT>
*/
/**
* @implements {Provider}
*/
export default class LocalProvider implements Provider {
/**
* @param {Client} client
* @returns {LocalProvider}
*/
static fromClient(client: Client): LocalProvider;
/**
* @param {object} props
* @param {Client} [props.client]
*/
constructor(props?: {
client?: Client | undefined;
});
_client: Client;
/**
* @returns {LedgerId?}
*/
getLedgerId(): LedgerId | null;
/**
* @returns {{[key: string]: (string | AccountId)}}
*/
getNetwork(): {
[key: string]: (string | AccountId);
};
/**
* @returns {string[]}
*/
getMirrorNetwork(): string[];
/**
* @param {AccountId | string} accountId
* @returns {Promise<AccountBalance>}
*/
getAccountBalance(accountId: AccountId | string): Promise<AccountBalance>;
/**
* @param {AccountId | string} accountId
* @returns {Promise<AccountInfo>}
*/
getAccountInfo(accountId: AccountId | string): Promise<AccountInfo>;
/**
* @param {AccountId | string} accountId
* @returns {Promise<TransactionRecord[]>}
*/
getAccountRecords(accountId: AccountId | string): Promise<TransactionRecord[]>;
/**
* @param {TransactionId | string} transactionId
* @returns {Promise<TransactionReceipt>}
*/
getTransactionReceipt(transactionId: TransactionId | string): Promise<TransactionReceipt>;
/**
* @param {TransactionResponse} response
* @returns {Promise<TransactionReceipt>}
*/
waitForReceipt(response: TransactionResponse): Promise<TransactionReceipt>;
/**
* @template RequestT
* @template ResponseT
* @template OutputT
* @param {Executable<RequestT, ResponseT, OutputT>} request
* @returns {Promise<OutputT>}
*/
call<RequestT, ResponseT, OutputT>(request: Executable<RequestT, ResponseT, OutputT>): Promise<OutputT>;
/**
* @returns {void}
*/
close(): void;
/**
* Set logger
*
* @param {Logger} logger
*/
setLogger(logger: Logger): void;
}
export type Provider = import("./Provider.js").Provider;
export type LedgerId = import("./LedgerId.js").default;
export type Key = import("./Key.js").default;
export type Transaction = import("./transaction/Transaction.js").default;
export type TransactionId = import("./transaction/TransactionId.js").default;
export type TransactionResponse = import("./transaction/TransactionResponse.js").default;
export type TransactionReceipt = import("./transaction/TransactionReceipt.js").default;
export type TransactionRecord = import("./transaction/TransactionRecord.js").default;
export type AccountId = import("./account/AccountId.js").default;
export type AccountBalance = import("./account/AccountBalance.js").default;
export type AccountInfo = import("./account/AccountInfo.js").default;
export type Logger = import("./logger/Logger.js").default;
/**
* <O>
*/
export type Query<O extends unknown> = import("./query/Query.js").default<O>;
/**
* <RequestT, ResponseT, OutputT>
*/
export type Executable<RequestT, ResponseT, OutputT> = import("./Executable.js").default<RequestT, ResponseT, OutputT>;
import Client from "./client/NodeClient.js";