scrypt-ts
Version:
A toolset for building sCrypt smart contract applications on Bitcoin SV network written in typescript.
46 lines (45 loc) • 2.16 kB
TypeScript
import { Signer, SignatureRequest, SignatureResponse, SignTransactionOptions } from "../abstract-signer";
import { Provider, TransactionResponse, UtxoQueryOptions } from "../abstract-provider";
import { AddressOption, Network, UTXO } from "../types";
import { bsv } from "scryptlib/dist";
/**
* An implemention of a simple wallet which should just be used in dev/test environments.
* It can hold multiple private keys and have a feature of cachable in-memory utxo management.
*
* Reminder: DO NOT USE IT IN PRODUCTION ENV.
*/
export declare class TestWallet extends Signer {
private readonly _privateKeys;
private _utxoManagers;
private splitFeeTx;
constructor(privateKey: bsv.PrivateKey | bsv.PrivateKey[], provider: Provider);
static random(provider: Provider, network?: bsv.Networks.Network): TestWallet;
enableSplitFeeTx(on: boolean): void;
isAuthenticated(): Promise<boolean>;
requestAuth(): Promise<{
isAuthenticated: boolean;
error: string;
}>;
get network(): Network;
get addresses(): string[];
addPrivateKey(privateKey: bsv.PrivateKey | bsv.PrivateKey[]): this;
checkPrivateKeys(): bsv.Networks.Network;
setProvider(provider: Provider): void;
getDefaultAddress(): Promise<bsv.Address>;
getDefaultPubKey(): Promise<bsv.PublicKey>;
getPubKey(address: AddressOption): Promise<bsv.PublicKey>;
getNetwork(): Promise<bsv.Networks.Network>;
getBalance(address?: AddressOption): Promise<{
confirmed: number;
unconfirmed: number;
}>;
signTransaction(tx: bsv.Transaction, options?: SignTransactionOptions): Promise<bsv.Transaction>;
signMessage(message: string, address?: AddressOption): Promise<string>;
getSignatures(rawTxHex: string, sigRequests: SignatureRequest[]): Promise<SignatureResponse[]>;
listUnspent(address: AddressOption, options?: UtxoQueryOptions): Promise<UTXO[]>;
private _getAddressesIn;
private _checkAddressOption;
private get _defaultPrivateKey();
private _getPrivateKeys;
signAndsendTransaction(tx: bsv.Transaction, options?: SignTransactionOptions): Promise<TransactionResponse>;
}