Interface Wallet

All Known Implementing Classes:
NWCWallet

public interface Wallet
  • Method Details

    • payInvoice

      default org.ngengine.platform.AsyncTask<PayResponse> payInvoice(@Nonnull String invoice, @Nullable Long amountMsats)
      Pay a lightning invoice
      Parameters:
      invoice - the lightning invoice to pay
      amountMsats - the amount in millisatoshis to pay, or null to use the invoice amount
      Returns:
      an AsyncTask that resolves to a PayResponse containing the payment result
    • payInvoice

      org.ngengine.platform.AsyncTask<PayResponse> payInvoice(@Nonnull String invoice, @Nullable Long amountMsats, @Nullable Instant expireRequestAt)
      Pay a lightning invoice
      Parameters:
      invoice - the lightning invoice to pay
      amountMsats - the amount in millisatoshis to pay, or null to use the invoice amount
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
      an AsyncTask that resolves to a PayResponse containing the payment result
    • makeInvoice

      default org.ngengine.platform.AsyncTask<InvoiceData> makeInvoice(InvoiceProperties req)
      Create a lightning invoice
      Parameters:
      req - the properties for the invoice to create
      Returns:
      an AsyncTask that resolves to an InvoiceData containing the created invoice
    • makeInvoice

      org.ngengine.platform.AsyncTask<InvoiceData> makeInvoice(InvoiceProperties req, @Nullable Instant expireRequestAt)
      Create a lightning invoice
      Parameters:
      req - the properties for the invoice to create
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
    • lookupInvoice

      default org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice(@Nullable String paymentHash, @Nullable String invoice)
      Lookup an invoice by payment hash or invoice string. At least one of paymentHash or invoice must be provided.
      Parameters:
      paymentHash - the payment hash to lookup, or null if not available
      invoice - the invoice string to lookup, or null if not available
      Returns:
      an AsyncTask that resolves to an InvoiceData containing the invoice details
    • lookupInvoice

      org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice(@Nullable String paymentHash, @Nullable String invoice, @Nullable Instant expireRequestAt)
      Lookup an invoice by payment hash or invoice string.
      Parameters:
      paymentHash - the payment hash to lookup, or null if not available
      invoice - the invoice string to lookup, or null if not available
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
      an AsyncTask that resolves to an InvoiceData containing the invoice details
    • listTransactions

      default org.ngengine.platform.AsyncTask<List<TransactionInfo>> listTransactions(@Nullable Instant from, @Nullable Instant until, @Nullable Integer limit, @Nullable Integer offset, boolean includeUnpaid, @Nullable TransactionType type)
      List transactions in the wallet.
      Parameters:
      from - the start time to filter transactions from, or null for no start time
      until - the end time to filter transactions until, or null for no end time
      limit - the maximum number of transactions to return, or null for no limit
      offset - the offset to start returning transactions from, or null for no offset
      includeUnpaid - whether to include unpaid transactions, or false to exclude them
      type - the type of transactions to filter by, or null for all types
      Returns:
      an AsyncTask that resolves to a List of TransactionInfo containing the transactions
    • listTransactions

      org.ngengine.platform.AsyncTask<List<TransactionInfo>> listTransactions(@Nullable Instant from, @Nullable Instant until, @Nullable Integer limit, @Nullable Integer offset, boolean includeUnpaid, @Nullable TransactionType type, @Nullable Instant expireRequestAt)
      List transactions in the wallet.
      Parameters:
      from - the start time to filter transactions from, or null for no start time
      until - the end time to filter transactions until, or null for no end time
      limit - the maximum number of transactions to return, or null for no limit
      offset - the offset to start returning transactions from, or null for no offset
      includeUnpaid - whether to include unpaid transactions, or false to exclude them
      type - the type of transactions to filter by, or null for all types
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
      an AsyncTask that resolves to a List of TransactionInfo containing the transactions
    • getBalance

      default org.ngengine.platform.AsyncTask<Long> getBalance()
      Get the msats balance of the wallet.
      Returns:
      an AsyncTask that resolves to the balance in millisatoshis
    • getBalance

      org.ngengine.platform.AsyncTask<Long> getBalance(@Nullable Instant expireRequestAt)
      Get the msats balance of the wallet.
      Parameters:
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
      an AsyncTask that resolves to the balance in millisatoshis
    • getInfo

      default org.ngengine.platform.AsyncTask<WalletInfo> getInfo()
      Get information about the wallet.
      Returns:
      an AsyncTask that resolves to a WalletInfo containing the wallet details
    • getInfo

      org.ngengine.platform.AsyncTask<WalletInfo> getInfo(@Nullable Instant expireRequestAt)
      Get information about the wallet.
      Parameters:
      expireRequestAt - an optional Instant to expire the request at, or null for no expiration
      Returns:
      an AsyncTask that resolves to a WalletInfo containing the wallet details
    • isReady

      boolean isReady()
      Check if the wallet is ready to use.
      Returns:
      true if the wallet is ready, false otherwise
    • waitForReady

      org.ngengine.platform.AsyncTask<Boolean> waitForReady()
      Wait for the wallet to be ready.
      Returns:
      an AsyncTask that resolves to true if the wallet is ready, false if it failed to become ready
    • isMethodSupported

      org.ngengine.platform.AsyncTask<Boolean> isMethodSupported(@Nonnull Wallet.Methods method)
      Check if a specific method is supported by the wallet.
      Parameters:
      method - the method to check support for
      Returns:
      an AsyncTask that resolves to true if the method is supported, false otherwise
    • close

      void close()
      Close the wallet and release any resources.