UNPKG

bitmask-core

Version:

Core functionality for the BitMask wallet

73 lines (59 loc) 1.85 kB
// BP import * as BMC from "./bitmask_core"; import {FundVaultDetails, TransactionDataDetails, WalletTransaction} from "./bitcoin"; export const transferBtc = async ( nostrHexSk: string, address: string, sats: bigint, feeRate: number, secrets: string[], ): Promise<TransactionData> => JSON.parse(await BMC.transfer_sats(nostrHexSk,address, sats, feeRate, secrets)); export const fundRgbVault = async ( nostrHexSk: string, feeRate: number, secrets: string[], broadcast: boolean, fundValue?: bigint | null, onetimeFee?: boolean | null, ): Promise<FundVaultDetails> => JSON.parse(await BMC.fund_rgb_vault( nostrHexSk, feeRate, secrets, broadcast, fundValue || null, onetimeFee || false, )); export const backupBtcWallet = async ( nostrHexSk: string, ): Promise<boolean> => JSON.parse(await BMC.backup_btc_data(nostrHexSk)); export const restoreBtcWallet = async ( nostrHexSk: string, ): Promise<boolean> => JSON.parse(await BMC.restore_btc_data(nostrHexSk)); export const recoverFundsFromBadWallets = async ( seed: string, passPhrase: string, recoverAddress: string, ): Promise<RecoverVaultDetails> => JSON.parse(await BMC.recover_funds_from_bad_wallets(seed, passPhrase, recoverAddress)); export const getBtcWallet = async ( nostrHexSk: string, ): Promise<WalletData> => JSON.parse(await BMC.get_btc_wallet(nostrHexSk)); export interface TransactionData { details: TransactionDataDetails; vsize: number; feeRate: number; } export interface WalletBalance { confirmed: number; } export interface WalletData { wallet?: string; name: string; address: string; balance: WalletBalance; transactions: WalletTransaction[]; utxos: string[]; } export interface RecoverVaultDetails { txid: string; fee: number; }