UNPKG

@hashgraph/sdk

Version:
148 lines (147 loc) 4.95 kB
/** * @template RequestT * @template ResponseT * @template OutputT * @typedef {import("./Executable.js").default<RequestT, ResponseT, OutputT>} Executable<RequestT, ResponseT, OutputT> */ /** * @typedef {import("./Signer.js").Signer} Signer * @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/TransactionResponse.js").default} TransactionResponse * @typedef {import("./transaction/TransactionReceipt.js").default} TransactionReceipt * @typedef {import("./transaction/TransactionRecord.js").default} TransactionRecord * @typedef {import("./account/AccountBalance.js").default} AccountBalance * @typedef {import("./account/AccountInfo.js").default} AccountInfo */ /** * @template {any} O * @typedef {import("./query/Query.js").default<O>} Query<O> */ /** * @implements {Signer} */ export default class Wallet implements Signer { /** * @returns {Promise<Wallet>} * @deprecated */ static createRandomED25519(): Promise<Wallet>; /** * @returns {Promise<Wallet>} * @deprecated */ static createRandomECDSA(): Promise<Wallet>; /** * NOTE: When using string for private key, the string needs to contain DER headers * * @param {AccountId | string} accountId * @param {PrivateKey | string} privateKey * @param {Provider=} provider */ constructor(accountId: AccountId | string, privateKey: PrivateKey | string, provider?: Provider | undefined); publicKey: import("./PublicKey.js").default; /** * @type {(message: Uint8Array) => Promise<Uint8Array>} */ signer: (message: Uint8Array) => Promise<Uint8Array>; provider: import("./Provider.js").Provider | undefined; accountId: AccountId; /** * @returns {Provider=} */ getProvider(): Provider | undefined; /** * @abstract * @returns {AccountId} */ getAccountId(): AccountId; /** * @returns {Key} */ getAccountKey(): Key; /** * @returns {LedgerId?} */ getLedgerId(): LedgerId | null; /** * @abstract * @returns {{[key: string]: (string | AccountId)}} */ getNetwork(): { [key: string]: (string | AccountId); }; /** * @abstract * @returns {string[]} */ getMirrorNetwork(): string[]; /** * @param {Uint8Array[]} messages * @returns {Promise<SignerSignature[]>} */ sign(messages: Uint8Array[]): Promise<SignerSignature[]>; /** * @returns {Promise<AccountBalance>} */ getAccountBalance(): Promise<AccountBalance>; /** * @abstract * @returns {Promise<AccountInfo>} */ getAccountInfo(): Promise<AccountInfo>; /** * @abstract * @returns {Promise<TransactionRecord[]>} */ getAccountRecords(): Promise<TransactionRecord[]>; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise<T>} */ signTransaction<T extends Transaction>(transaction: T): Promise<T>; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise<T>} */ checkTransaction<T extends Transaction>(transaction: T): Promise<T>; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise<T>} */ populateTransaction<T extends Transaction>(transaction: T): Promise<T>; /** * @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>; } /** * <RequestT, ResponseT, OutputT> */ export type Executable<RequestT, ResponseT, OutputT> = import("./Executable.js").default<RequestT, ResponseT, OutputT>; export type Signer = import("./Signer.js").Signer; 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 TransactionResponse = import("./transaction/TransactionResponse.js").default; export type TransactionReceipt = import("./transaction/TransactionReceipt.js").default; export type TransactionRecord = import("./transaction/TransactionRecord.js").default; export type AccountBalance = import("./account/AccountBalance.js").default; export type AccountInfo = import("./account/AccountInfo.js").default; /** * <O> */ export type Query<O extends unknown> = import("./query/Query.js").default<O>; import AccountId from "./account/AccountId.js"; import SignerSignature from "./SignerSignature.js"; import PrivateKey from "./PrivateKey.js";