@arklabs/wallet-sdk
Version:
Bitcoin wallet SDK with Taproot and Ark integration
41 lines (40 loc) • 1.66 kB
TypeScript
import { ArkAddress } from "../script/address";
import { SettlementEvent } from "../providers/ark";
import { AddressInfo, ArkTransaction, Coin, ExtendedCoin, ExtendedVirtualCoin, IWallet, SendBitcoinParams, SettleParams, WalletBalance, WalletConfig } from ".";
export declare class Wallet implements IWallet {
private identity;
private network;
private onchainProvider;
private onchainP2TR;
private arkProvider?;
private arkServerPublicKey?;
private offchainTapscript?;
private boardingTapscript?;
static DUST_AMOUNT: bigint;
static FEE_RATE: number;
private constructor();
static create(config: WalletConfig): Promise<Wallet>;
get onchainAddress(): string;
get boardingAddress(): ArkAddress;
get boardingOnchainAddress(): string;
get offchainAddress(): ArkAddress;
getAddress(): Promise<AddressInfo>;
getBalance(): Promise<WalletBalance>;
getCoins(): Promise<Coin[]>;
getVtxos(): Promise<ExtendedVirtualCoin[]>;
private getVirtualCoins;
getTransactionHistory(): Promise<ArkTransaction[]>;
getBoardingTxs(): Promise<{
boardingTxs: ArkTransaction[];
roundsToIgnore: Set<string>;
}>;
getBoardingUtxos(): Promise<ExtendedCoin[]>;
sendBitcoin(params: SendBitcoinParams, zeroFee?: boolean): Promise<string>;
private isOffchainSuitable;
private sendOnchain;
private sendOffchain;
settle(params?: SettleParams, eventCallback?: (event: SettlementEvent) => void): Promise<string>;
private handleSettlementSigningEvent;
private handleSettlementSigningNoncesGeneratedEvent;
private handleSettlementFinalizationEvent;
}