UNPKG

@breeztech/react-native-breez-sdk

Version:

React Native Breez SDK

781 lines 22.9 kB
import type { EmitterSubscription } from "react-native"; export interface AesSuccessActionDataDecrypted { description: string; plaintext: string; } export interface BackupFailedData { error: string; } export interface BackupStatus { backedUp: boolean; lastBackupTime?: number; } export interface BitcoinAddressData { address: string; network: Network; amountSat?: number; label?: string; message?: string; } export interface BuyBitcoinRequest { provider: BuyBitcoinProvider; openingFeeParams?: OpeningFeeParams; redirectUrl?: string; } export interface BuyBitcoinResponse { url: string; openingFeeParams?: OpeningFeeParams; } export interface CheckMessageRequest { message: string; pubkey: string; signature: string; } export interface CheckMessageResponse { isValid: boolean; } export interface ClosedChannelPaymentDetails { state: ChannelState; fundingTxid: string; shortChannelId?: string; closingTxid?: string; } export interface Config { breezserver: string; chainnotifierUrl: string; mempoolspaceUrl?: string; workingDir: string; network: Network; paymentTimeoutSec: number; defaultLspId?: string; apiKey?: string; maxfeePercent: number; exemptfeeMsat: number; nodeConfig: NodeConfig; } export interface ConfigureNodeRequest { closeToAddress?: string; } export interface ConnectRequest { config: Config; seed: number[]; restoreOnly?: boolean; } export interface CurrencyInfo { name: string; fractionSize: number; spacing?: number; symbol?: SymbolType; uniqSymbol?: SymbolType; localizedName: LocalizedName[]; localeOverrides: LocaleOverrides[]; } export interface FiatCurrency { id: string; info: CurrencyInfo; } export interface GreenlightCredentials { developerKey: number[]; developerCert: number[]; } export interface GreenlightDeviceCredentials { device: number[]; } export interface GreenlightNodeConfig { partnerCredentials?: GreenlightCredentials; inviteCode?: string; } export interface InvoicePaidDetails { paymentHash: string; bolt11: string; payment?: Payment; } export interface LnInvoice { bolt11: string; network: Network; payeePubkey: string; paymentHash: string; description?: string; descriptionHash?: string; amountMsat?: number; timestamp: number; expiry: number; routingHints: RouteHint[]; paymentSecret: number[]; minFinalCltvExpiryDelta: number; } export interface ListPaymentsRequest { filters?: PaymentTypeFilter[]; metadataFilters?: MetadataFilter[]; fromTimestamp?: number; toTimestamp?: number; includeFailures?: boolean; offset?: number; limit?: number; } export interface ListSwapsRequest { status?: SwapStatus[]; fromTimestamp?: number; toTimestamp?: number; offset?: number; limit?: number; } export interface LnPaymentDetails { paymentHash: string; label: string; destinationPubkey: string; paymentPreimage: string; keysend: boolean; bolt11: string; openChannelBolt11?: string; lnurlSuccessAction?: SuccessActionProcessed; lnurlPayDomain?: string; lnurlPayComment?: string; lnurlMetadata?: string; lnAddress?: string; lnurlWithdrawEndpoint?: string; swapInfo?: SwapInfo; reverseSwapInfo?: ReverseSwapInfo; pendingExpirationBlock?: number; } export interface LnUrlAuthRequestData { k1: string; domain: string; url: string; action?: string; } export interface LnUrlErrorData { reason: string; } export interface LnUrlPayErrorData { paymentHash: string; reason: string; } export interface LnUrlPayRequest { data: LnUrlPayRequestData; amountMsat: number; useTrampoline: boolean; comment?: string; paymentLabel?: string; validateSuccessActionUrl?: boolean; } export interface LnUrlPayRequestData { callback: string; minSendable: number; maxSendable: number; metadataStr: string; commentAllowed: number; domain: string; allowsNostr: boolean; nostrPubkey?: string; lnAddress?: string; } export interface LnUrlPaySuccessData { successAction?: SuccessActionProcessed; payment: Payment; } export interface LnUrlWithdrawRequest { data: LnUrlWithdrawRequestData; amountMsat: number; description?: string; } export interface LnUrlWithdrawRequestData { callback: string; k1: string; defaultDescription: string; minWithdrawable: number; maxWithdrawable: number; } export interface LnUrlWithdrawSuccessData { invoice: LnInvoice; } export interface LocaleOverrides { locale: string; spacing?: number; symbol: SymbolType; } export interface LocalizedName { locale: string; name: string; } export interface LogEntry { line: string; level: string; } export interface LspInformation { id: string; name: string; widgetUrl: string; pubkey: string; host: string; baseFeeMsat: number; feeRate: number; timeLockDelta: number; minHtlcMsat: number; lspPubkey: number[]; openingFeeParamsList: OpeningFeeParamsMenu; } export interface MessageSuccessActionData { message: string; } export interface MetadataFilter { jsonPath: string; jsonValue: string; } export interface MetadataItem { key: string; value: string; } export interface NodeState { id: string; blockHeight: number; channelsBalanceMsat: number; onchainBalanceMsat: number; pendingOnchainBalanceMsat: number; utxos: UnspentTransactionOutput[]; maxPayableMsat: number; maxReceivableMsat: number; maxSinglePaymentAmountMsat: number; maxChanReserveMsats: number; connectedPeers: string[]; maxReceivableSinglePaymentAmountMsat: number; totalInboundLiquidityMsats: number; } export interface OnchainPaymentLimitsResponse { minSat: number; maxSat: number; maxPayableSat: number; } export interface OpenChannelFeeRequest { amountMsat?: number; expiry?: number; } export interface OpenChannelFeeResponse { feeMsat?: number; feeParams: OpeningFeeParams; } export interface OpeningFeeParams { minMsat: number; proportional: number; validUntil: string; maxIdleTime: number; maxClientToSelfDelay: number; promise: string; } export interface OpeningFeeParamsMenu { values: OpeningFeeParams[]; } export interface PayOnchainRequest { recipientAddress: string; prepareRes: PrepareOnchainPaymentResponse; } export interface PayOnchainResponse { reverseSwapInfo: ReverseSwapInfo; } export interface Payment { id: string; paymentType: PaymentType; paymentTime: number; amountMsat: number; feeMsat: number; status: PaymentStatus; error?: string; description?: string; details: PaymentDetails; metadata?: string; } export interface PaymentFailedData { error: string; nodeId: string; invoice?: LnInvoice; label?: string; } export interface PrepareOnchainPaymentRequest { amountSat: number; amountType: SwapAmountType; claimTxFeerate: number; } export interface PrepareOnchainPaymentResponse { feesHash: string; feesPercentage: number; feesLockup: number; feesClaim: number; senderAmountSat: number; recipientAmountSat: number; totalFees: number; } export interface PrepareRedeemOnchainFundsRequest { toAddress: string; satPerVbyte: number; } export interface PrepareRedeemOnchainFundsResponse { txWeight: number; txFeeSat: number; } export interface PrepareRefundRequest { swapAddress: string; toAddress: string; satPerVbyte: number; unilateral?: boolean; } export interface PrepareRefundResponse { refundTxWeight: number; refundTxFeeSat: number; } export interface Rate { coin: string; value: number; } export interface ReceiveOnchainRequest { openingFeeParams?: OpeningFeeParams; } export interface ReceivePaymentRequest { amountMsat: number; description: string; preimage?: number[]; openingFeeParams?: OpeningFeeParams; useDescriptionHash?: boolean; expiry?: number; cltv?: number; } export interface ReceivePaymentResponse { lnInvoice: LnInvoice; openingFeeParams?: OpeningFeeParams; openingFeeMsat?: number; } export interface RecommendedFees { fastestFee: number; halfHourFee: number; hourFee: number; economyFee: number; minimumFee: number; } export interface RedeemOnchainFundsRequest { toAddress: string; satPerVbyte: number; } export interface RedeemOnchainFundsResponse { txid: number[]; } export interface RefundRequest { swapAddress: string; toAddress: string; satPerVbyte: number; unilateral?: boolean; } export interface RefundResponse { refundTxId: string; } export interface ReportPaymentFailureDetails { paymentHash: string; comment?: string; } export interface ReverseSwapFeesRequest { sendAmountSat?: number; claimTxFeerate?: number; } export interface ReverseSwapInfo { id: string; claimPubkey: string; lockupTxid?: string; claimTxid?: string; onchainAmountSat: number; status: ReverseSwapStatus; } export interface ReverseSwapPairInfo { min: number; max: number; feesHash: string; feesPercentage: number; feesLockup: number; feesClaim: number; totalFees?: number; } export interface RouteHint { hops: RouteHintHop[]; } export interface RouteHintHop { srcNodeId: string; shortChannelId: string; feesBaseMsat: number; feesProportionalMillionths: number; cltvExpiryDelta: number; htlcMinimumMsat?: number; htlcMaximumMsat?: number; } export interface SendPaymentRequest { bolt11: string; useTrampoline: boolean; amountMsat?: number; label?: string; } export interface SendPaymentResponse { payment: Payment; } export interface SendSpontaneousPaymentRequest { nodeId: string; amountMsat: number; extraTlvs?: TlvEntry[]; label?: string; } export interface ServiceHealthCheckResponse { status: HealthCheckStatus; } export interface SignMessageRequest { message: string; } export interface SignMessageResponse { signature: string; } export interface StaticBackupRequest { workingDir: string; } export interface StaticBackupResponse { backup?: string[]; } export interface SwapInfo { bitcoinAddress: string; createdAt: number; lockHeight: number; paymentHash: number[]; preimage: number[]; privateKey: number[]; publicKey: number[]; swapperPublicKey: number[]; script: number[]; bolt11?: string; paidMsat: number; unconfirmedSats: number; confirmedSats: number; totalIncomingTxs: number; status: SwapStatus; refundTxIds: string[]; unconfirmedTxIds: string[]; confirmedTxIds: string[]; minAllowedDeposit: number; maxAllowedDeposit: number; maxSwapperPayable: number; lastRedeemError?: string; channelOpeningFees?: OpeningFeeParams; confirmedAt?: number; } export interface SymbolType { grapheme?: string; template?: string; rtl?: boolean; position?: number; } export interface TlvEntry { fieldNumber: number; value: number[]; } export interface UnspentTransactionOutput { txid: number[]; outnum: number; amountMillisatoshi: number; address: string; reserved: boolean; } export interface UrlSuccessActionData { description: string; url: string; matchesCallbackDomain: boolean; } export declare enum AesSuccessActionDataResultVariant { DECRYPTED = "decrypted", ERROR_STATUS = "errorStatus" } export type AesSuccessActionDataResult = { type: AesSuccessActionDataResultVariant.DECRYPTED; data: AesSuccessActionDataDecrypted; } | { type: AesSuccessActionDataResultVariant.ERROR_STATUS; reason: string; }; export declare enum BreezEventVariant { NEW_BLOCK = "newBlock", INVOICE_PAID = "invoicePaid", SYNCED = "synced", PAYMENT_SUCCEED = "paymentSucceed", PAYMENT_FAILED = "paymentFailed", BACKUP_STARTED = "backupStarted", BACKUP_SUCCEEDED = "backupSucceeded", BACKUP_FAILED = "backupFailed", REVERSE_SWAP_UPDATED = "reverseSwapUpdated", SWAP_UPDATED = "swapUpdated" } export type BreezEvent = { type: BreezEventVariant.NEW_BLOCK; block: number; } | { type: BreezEventVariant.INVOICE_PAID; details: InvoicePaidDetails; } | { type: BreezEventVariant.SYNCED; } | { type: BreezEventVariant.PAYMENT_SUCCEED; details: Payment; } | { type: BreezEventVariant.PAYMENT_FAILED; details: PaymentFailedData; } | { type: BreezEventVariant.BACKUP_STARTED; } | { type: BreezEventVariant.BACKUP_SUCCEEDED; } | { type: BreezEventVariant.BACKUP_FAILED; details: BackupFailedData; } | { type: BreezEventVariant.REVERSE_SWAP_UPDATED; details: ReverseSwapInfo; } | { type: BreezEventVariant.SWAP_UPDATED; details: SwapInfo; }; export declare enum BuyBitcoinProvider { MOONPAY = "moonpay" } export declare enum ChannelState { PENDING_OPEN = "pendingOpen", OPENED = "opened", PENDING_CLOSE = "pendingClose", CLOSED = "closed" } export declare enum EnvironmentType { PRODUCTION = "production", STAGING = "staging" } export declare enum FeeratePreset { REGULAR = "regular", ECONOMY = "economy", PRIORITY = "priority" } export declare enum HealthCheckStatus { OPERATIONAL = "operational", MAINTENANCE = "maintenance", SERVICE_DISRUPTION = "serviceDisruption" } export declare enum InputTypeVariant { BITCOIN_ADDRESS = "bitcoinAddress", BOLT11 = "bolt11", NODE_ID = "nodeId", URL = "url", LN_URL_PAY = "lnUrlPay", LN_URL_WITHDRAW = "lnUrlWithdraw", LN_URL_AUTH = "lnUrlAuth", LN_URL_ERROR = "lnUrlError" } export type InputType = { type: InputTypeVariant.BITCOIN_ADDRESS; address: BitcoinAddressData; } | { type: InputTypeVariant.BOLT11; invoice: LnInvoice; } | { type: InputTypeVariant.NODE_ID; nodeId: string; } | { type: InputTypeVariant.URL; url: string; } | { type: InputTypeVariant.LN_URL_PAY; data: LnUrlPayRequestData; bip353Address?: string; } | { type: InputTypeVariant.LN_URL_WITHDRAW; data: LnUrlWithdrawRequestData; } | { type: InputTypeVariant.LN_URL_AUTH; data: LnUrlAuthRequestData; } | { type: InputTypeVariant.LN_URL_ERROR; data: LnUrlErrorData; }; export declare enum LnUrlCallbackStatusVariant { OK = "ok", ERROR_STATUS = "errorStatus" } export type LnUrlCallbackStatus = { type: LnUrlCallbackStatusVariant.OK; } | { type: LnUrlCallbackStatusVariant.ERROR_STATUS; data: LnUrlErrorData; }; export declare enum LnUrlPayResultVariant { ENDPOINT_SUCCESS = "endpointSuccess", ENDPOINT_ERROR = "endpointError", PAY_ERROR = "payError" } export type LnUrlPayResult = { type: LnUrlPayResultVariant.ENDPOINT_SUCCESS; data: LnUrlPaySuccessData; } | { type: LnUrlPayResultVariant.ENDPOINT_ERROR; data: LnUrlErrorData; } | { type: LnUrlPayResultVariant.PAY_ERROR; data: LnUrlPayErrorData; }; export declare enum LnUrlWithdrawResultVariant { OK = "ok", TIMEOUT = "timeout", ERROR_STATUS = "errorStatus" } export type LnUrlWithdrawResult = { type: LnUrlWithdrawResultVariant.OK; data: LnUrlWithdrawSuccessData; } | { type: LnUrlWithdrawResultVariant.TIMEOUT; data: LnUrlWithdrawSuccessData; } | { type: LnUrlWithdrawResultVariant.ERROR_STATUS; data: LnUrlErrorData; }; export declare enum Network { BITCOIN = "bitcoin", TESTNET = "testnet", SIGNET = "signet", REGTEST = "regtest" } export declare enum NodeConfigVariant { GREENLIGHT = "greenlight" } export interface NodeConfig { type: NodeConfigVariant.GREENLIGHT; config: GreenlightNodeConfig; } export declare enum NodeCredentialsVariant { GREENLIGHT = "greenlight" } export interface NodeCredentials { type: NodeCredentialsVariant.GREENLIGHT; credentials: GreenlightDeviceCredentials; } export declare enum PaymentDetailsVariant { LN = "ln", CLOSED_CHANNEL = "closedChannel" } export type PaymentDetails = { type: PaymentDetailsVariant.LN; data: LnPaymentDetails; } | { type: PaymentDetailsVariant.CLOSED_CHANNEL; data: ClosedChannelPaymentDetails; }; export declare enum PaymentStatus { PENDING = "pending", COMPLETE = "complete", FAILED = "failed" } export declare enum PaymentType { SENT = "sent", RECEIVED = "received", CLOSED_CHANNEL = "closedChannel" } export declare enum PaymentTypeFilter { SENT = "sent", RECEIVED = "received", CLOSED_CHANNEL = "closedChannel" } export declare enum ReportIssueRequestVariant { PAYMENT_FAILURE = "paymentFailure" } export interface ReportIssueRequest { type: ReportIssueRequestVariant.PAYMENT_FAILURE; data: ReportPaymentFailureDetails; } export declare enum ReverseSwapStatus { INITIAL = "initial", IN_PROGRESS = "inProgress", CANCELLED = "cancelled", COMPLETED_SEEN = "completedSeen", COMPLETED_CONFIRMED = "completedConfirmed" } export declare enum SuccessActionProcessedVariant { AES = "aes", MESSAGE = "message", URL = "url" } export type SuccessActionProcessed = { type: SuccessActionProcessedVariant.AES; result: AesSuccessActionDataResult; } | { type: SuccessActionProcessedVariant.MESSAGE; data: MessageSuccessActionData; } | { type: SuccessActionProcessedVariant.URL; data: UrlSuccessActionData; }; export declare enum SwapAmountType { SEND = "send", RECEIVE = "receive" } export declare enum SwapStatus { INITIAL = "initial", WAITING_CONFIRMATION = "waitingConfirmation", REDEEMABLE = "redeemable", REDEEMED = "redeemed", REFUNDABLE = "refundable", COMPLETED = "completed" } export type EventListener = (breezEvent: BreezEvent) => void; export type LogStream = (logEntry: LogEntry) => void; export declare const connect: (req: ConnectRequest, listener: EventListener) => Promise<EmitterSubscription>; export declare const setLogStream: (logStream: LogStream) => Promise<EmitterSubscription>; export declare const parseInvoice: (invoice: string) => Promise<LnInvoice>; export declare const parseInput: (s: string) => Promise<InputType>; export declare const mnemonicToSeed: (phrase: string) => Promise<number[]>; export declare const defaultConfig: (envType: EnvironmentType, apiKey: string, nodeConfig: NodeConfig) => Promise<Config>; export declare const staticBackup: (req: StaticBackupRequest) => Promise<StaticBackupResponse>; export declare const serviceHealthCheck: (apiKey: string) => Promise<ServiceHealthCheckResponse>; export declare const disconnect: () => Promise<void>; export declare const configureNode: (req: ConfigureNodeRequest) => Promise<void>; export declare const sendPayment: (req: SendPaymentRequest) => Promise<SendPaymentResponse>; export declare const sendSpontaneousPayment: (req: SendSpontaneousPaymentRequest) => Promise<SendPaymentResponse>; export declare const receivePayment: (req: ReceivePaymentRequest) => Promise<ReceivePaymentResponse>; export declare const payLnurl: (req: LnUrlPayRequest) => Promise<LnUrlPayResult>; export declare const withdrawLnurl: (request: LnUrlWithdrawRequest) => Promise<LnUrlWithdrawResult>; export declare const lnurlAuth: (reqData: LnUrlAuthRequestData) => Promise<LnUrlCallbackStatus>; export declare const reportIssue: (req: ReportIssueRequest) => Promise<void>; export declare const nodeCredentials: () => Promise<NodeCredentials | null>; export declare const nodeInfo: () => Promise<NodeState>; export declare const signMessage: (req: SignMessageRequest) => Promise<SignMessageResponse>; export declare const checkMessage: (req: CheckMessageRequest) => Promise<CheckMessageResponse>; export declare const backupStatus: () => Promise<BackupStatus>; export declare const backup: () => Promise<void>; export declare const listPayments: (req: ListPaymentsRequest) => Promise<Payment[]>; export declare const paymentByHash: (hash: string) => Promise<Payment | null>; export declare const setPaymentMetadata: (hash: string, metadata: string) => Promise<void>; export declare const redeemOnchainFunds: (req: RedeemOnchainFundsRequest) => Promise<RedeemOnchainFundsResponse>; export declare const fetchFiatRates: () => Promise<Rate[]>; export declare const listFiatCurrencies: () => Promise<FiatCurrency[]>; export declare const listLsps: () => Promise<LspInformation[]>; export declare const connectLsp: (lspId: string) => Promise<void>; export declare const fetchLspInfo: (lspId: string) => Promise<LspInformation | null>; export declare const openChannelFee: (req: OpenChannelFeeRequest) => Promise<OpenChannelFeeResponse>; export declare const lspId: () => Promise<string | null>; export declare const lspInfo: () => Promise<LspInformation>; export declare const closeLspChannels: () => Promise<void>; export declare const registerWebhook: (webhookUrl: string) => Promise<void>; export declare const unregisterWebhook: (webhookUrl: string) => Promise<void>; export declare const receiveOnchain: (req: ReceiveOnchainRequest) => Promise<SwapInfo>; export declare const inProgressSwap: () => Promise<SwapInfo | null>; export declare const rescanSwaps: () => Promise<void>; export declare const redeemSwap: (swapAddress: string) => Promise<void>; export declare const listRefundables: () => Promise<SwapInfo[]>; export declare const prepareRefund: (req: PrepareRefundRequest) => Promise<PrepareRefundResponse>; export declare const refund: (req: RefundRequest) => Promise<RefundResponse>; export declare const listSwaps: (req: ListSwapsRequest) => Promise<SwapInfo[]>; export declare const fetchReverseSwapFees: (req: ReverseSwapFeesRequest) => Promise<ReverseSwapPairInfo>; export declare const onchainPaymentLimits: () => Promise<OnchainPaymentLimitsResponse>; export declare const prepareOnchainPayment: (req: PrepareOnchainPaymentRequest) => Promise<PrepareOnchainPaymentResponse>; export declare const inProgressOnchainPayments: () => Promise<ReverseSwapInfo[]>; export declare const claimReverseSwap: (lockupAddress: string) => Promise<void>; export declare const payOnchain: (req: PayOnchainRequest) => Promise<PayOnchainResponse>; export declare const executeDevCommand: (command: string) => Promise<string>; export declare const generateDiagnosticData: () => Promise<string>; export declare const sync: () => Promise<void>; export declare const recommendedFees: () => Promise<RecommendedFees>; export declare const buyBitcoin: (req: BuyBitcoinRequest) => Promise<BuyBitcoinResponse>; export declare const prepareRedeemOnchainFunds: (req: PrepareRedeemOnchainFundsRequest) => Promise<PrepareRedeemOnchainFundsResponse>; //# sourceMappingURL=index.d.ts.map