UNPKG

react-native-nitro-ark

Version:
195 lines 6.82 kB
import type { HybridObject } from 'react-native-nitro-modules'; export interface BarkConfigOpts { ark?: string; esplora?: string; bitcoind?: string; bitcoind_cookie?: string; bitcoind_user?: string; bitcoind_pass?: string; vtxo_refresh_expiry_threshold?: number; fallback_fee_rate?: number; htlc_recv_claim_delta: number; vtxo_exit_margin: number; round_tx_required_confirmations: number; } export interface BarkCreateOpts { regtest?: boolean; signet?: boolean; bitcoin?: boolean; mnemonic: string; birthday_height?: number; config?: BarkConfigOpts; } export interface BarkArkInfo { network: string; server_pubkey: string; round_interval: number; nb_round_nonces: number; vtxo_exit_delta: number; vtxo_expiry_delta: number; htlc_send_expiry_delta: number; max_vtxo_amount: number; required_board_confirmations: number; } export interface BarkSendManyOutput { destination: string; amountSat: number; } interface BarkVtxo { amount: number; expiry_height: number; server_pubkey: string; exit_delta: number; anchor_point: string; point: string; state: string; } export interface BoardResult { funding_txid: string; vtxos: string[]; } export interface Bolt11Invoice { payment_request: string; payment_secret: string; payment_hash: string; } export interface ArkoorPaymentResult { amount_sat: number; destination_pubkey: string; vtxos: BarkVtxo[]; } export interface LightningSendResult { invoice: string; payment_hash: string; amount: number; htlc_vtxos: BarkVtxo[]; movement_id: number; preimage: string | null; } export interface OnchainPaymentResult { txid: string; amount_sat: number; destination_address: string; } export interface OffchainBalanceResult { spendable: number; pending_lightning_send: number; pending_in_round: number; pending_exit: number; pending_board: number; } export interface OnchainBalanceResult { immature: number; trusted_pending: number; untrusted_pending: number; confirmed: number; } export interface NewAddressResult { user_pubkey: string; ark_id: string; address: string; } export interface KeyPairResult { public_key: string; secret_key: string; } export interface LightningReceive { payment_hash: string; payment_preimage: string; invoice: string; preimage_revealed_at?: number; finished_at?: number; } export interface BarkMovementSubsystem { name: string; kind: string; } export interface BarkMovementDestination { destination: string; payment_method: string; amount_sat: number; } export interface BarkMovement { id: number; status: string; subsystem: BarkMovementSubsystem; metadata_json: string; intended_balance_sat: number; effective_balance_sat: number; offchain_fee_sat: number; sent_to: BarkMovementDestination[]; received_on: BarkMovementDestination[]; input_vtxos: string[]; output_vtxos: string[]; exited_vtxos: string[]; created_at: string; updated_at: string; completed_at?: string; } export type RoundStatusType = 'confirmed' | 'unconfirmed' | 'pending' | 'failed' | 'canceled'; export interface RoundStatus { status: RoundStatusType; funding_txid?: string; unsigned_funding_txids?: string[]; error?: string; is_final: boolean; is_success: boolean; } export interface NitroArk extends HybridObject<{ ios: 'c++'; android: 'c++'; }> { createMnemonic(): Promise<string>; createWallet(datadir: string, opts: BarkCreateOpts): Promise<void>; loadWallet(datadir: string, config: BarkCreateOpts): Promise<void>; isWalletLoaded(): Promise<boolean>; closeWallet(): Promise<void>; refreshServer(): Promise<void>; syncPendingBoards(): Promise<void>; maintenance(): Promise<void>; maintenanceWithOnchain(): Promise<void>; maintenanceRefresh(): Promise<void>; sync(): Promise<void>; syncExits(): Promise<void>; syncPendingRounds(): Promise<void>; getArkInfo(): Promise<BarkArkInfo>; offchainBalance(): Promise<OffchainBalanceResult>; deriveStoreNextKeypair(): Promise<KeyPairResult>; peakKeyPair(index: number): Promise<KeyPairResult>; peakAddress(index: number): Promise<NewAddressResult>; newAddress(): Promise<NewAddressResult>; signMessage(message: string, index: number): Promise<string>; signMesssageWithMnemonic(message: string, mnemonic: string, network: string, index: number): Promise<string>; deriveKeypairFromMnemonic(mnemonic: string, network: string, index: number): Promise<KeyPairResult>; verifyMessage(message: string, signature: string, publicKey: string): Promise<boolean>; history(): Promise<BarkMovement[]>; vtxos(): Promise<BarkVtxo[]>; getFirstExpiringVtxoBlockheight(): Promise<number | undefined>; getNextRequiredRefreshBlockheight(): Promise<number | undefined>; getExpiringVtxos(threshold: number): Promise<BarkVtxo[]>; onchainBalance(): Promise<OnchainBalanceResult>; onchainSync(): Promise<void>; onchainListUnspent(): Promise<string>; onchainUtxos(): Promise<string>; onchainAddress(): Promise<string>; onchainSend(destination: string, amountSat: number, feeRate?: number): Promise<OnchainPaymentResult>; onchainDrain(destination: string, feeRate?: number): Promise<string>; onchainSendMany(outputs: BarkSendManyOutput[], feeRate?: number): Promise<string>; boardAmount(amountSat: number): Promise<BoardResult>; boardAll(): Promise<BoardResult>; validateArkoorAddress(address: string): Promise<void>; sendArkoorPayment(destination: string, amountSat: number): Promise<ArkoorPaymentResult>; payLightningInvoice(destination: string, amountSat?: number): Promise<LightningSendResult>; payLightningOffer(offer: string, amountSat?: number): Promise<LightningSendResult>; payLightningAddress(addr: string, amountSat: number, comment: string): Promise<LightningSendResult>; sendRoundOnchainPayment(destination: string, amountSat: number): Promise<RoundStatus>; bolt11Invoice(amountMsat: number): Promise<Bolt11Invoice>; lightningReceiveStatus(paymentHash: string): Promise<LightningReceive | undefined>; checkLightningPayment(paymentHash: string, wait: boolean): Promise<string | null>; tryClaimLightningReceive(paymentHash: string, wait: boolean, token?: string): Promise<LightningReceive>; tryClaimAllLightningReceives(wait: boolean): Promise<void>; offboardSpecific(vtxoIds: string[], destinationAddress: string): Promise<RoundStatus>; offboardAll(destinationAddress: string): Promise<RoundStatus>; } export {}; //# sourceMappingURL=NitroArk.nitro.d.ts.map