@hashgraph/sdk
Version:
148 lines (147 loc) • 4.95 kB
TypeScript
/**
* @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";