Interface Wallet

  • All Known Implementing Classes:
    NWCWallet

    public interface Wallet
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  Wallet.Methods  
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void close()
      Close the wallet and release any resources.
      default org.ngengine.platform.AsyncTask<java.lang.Long> getBalance()
      Get the msats balance of the wallet.
      org.ngengine.platform.AsyncTask<java.lang.Long> getBalance​(java.time.Instant expireRequestAt)
      Get the msats balance of the wallet.
      default org.ngengine.platform.AsyncTask<WalletInfo> getInfo()
      Get information about the wallet.
      org.ngengine.platform.AsyncTask<WalletInfo> getInfo​(java.time.Instant expireRequestAt)
      Get information about the wallet.
      org.ngengine.platform.AsyncTask<java.lang.Boolean> isMethodSupported​(Wallet.Methods method)
      Check if a specific method is supported by the wallet.
      boolean isReady()
      Check if the wallet is ready to use.
      default org.ngengine.platform.AsyncTask<java.util.List<TransactionInfo>> listTransactions​(java.time.Instant from, java.time.Instant until, java.lang.Integer limit, java.lang.Integer offset, boolean includeUnpaid, TransactionType type)
      List transactions in the wallet.
      org.ngengine.platform.AsyncTask<java.util.List<TransactionInfo>> listTransactions​(java.time.Instant from, java.time.Instant until, java.lang.Integer limit, java.lang.Integer offset, boolean includeUnpaid, TransactionType type, java.time.Instant expireRequestAt)
      List transactions in the wallet.
      default org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice​(java.lang.String paymentHash, java.lang.String invoice)
      Lookup an invoice by payment hash or invoice string.
      org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice​(java.lang.String paymentHash, java.lang.String invoice, java.time.Instant expireRequestAt)
      Lookup an invoice by payment hash or invoice string.
      default org.ngengine.platform.AsyncTask<InvoiceData> makeInvoice​(InvoiceProperties req)
      Create a lightning invoice
      org.ngengine.platform.AsyncTask<InvoiceData> makeInvoice​(InvoiceProperties req, java.time.Instant expireRequestAt)
      Create a lightning invoice
      default org.ngengine.platform.AsyncTask<PayResponse> payInvoice​(java.lang.String invoice, java.lang.Long amountMsats)
      Pay a lightning invoice
      org.ngengine.platform.AsyncTask<PayResponse> payInvoice​(java.lang.String invoice, java.lang.Long amountMsats, java.time.Instant expireRequestAt)
      Pay a lightning invoice
      org.ngengine.platform.AsyncTask<java.lang.Boolean> waitForReady()
      Wait for the wallet to be ready.
    • Method Detail

      • payInvoice

        default org.ngengine.platform.AsyncTask<PayResponse> payInvoice​(@Nonnull
                                                                        java.lang.String invoice,
                                                                        @Nullable
                                                                        java.lang.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
                                                                java.lang.String invoice,
                                                                @Nullable
                                                                java.lang.Long amountMsats,
                                                                @Nullable
                                                                java.time.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
                                                                 java.time.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
                                                                           java.lang.String paymentHash,
                                                                           @Nullable
                                                                           java.lang.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
                                                                   java.lang.String paymentHash,
                                                                   @Nullable
                                                                   java.lang.String invoice,
                                                                   @Nullable
                                                                   java.time.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<java.util.List<TransactionInfo>> listTransactions​(@Nullable
                                                                                                  java.time.Instant from,
                                                                                                  @Nullable
                                                                                                  java.time.Instant until,
                                                                                                  @Nullable
                                                                                                  java.lang.Integer limit,
                                                                                                  @Nullable
                                                                                                  java.lang.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<java.util.List<TransactionInfo>> listTransactions​(@Nullable
                                                                                          java.time.Instant from,
                                                                                          @Nullable
                                                                                          java.time.Instant until,
                                                                                          @Nullable
                                                                                          java.lang.Integer limit,
                                                                                          @Nullable
                                                                                          java.lang.Integer offset,
                                                                                          boolean includeUnpaid,
                                                                                          @Nullable
                                                                                          TransactionType type,
                                                                                          @Nullable
                                                                                          java.time.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<java.lang.Long> getBalance()
        Get the msats balance of the wallet.
        Returns:
        an AsyncTask that resolves to the balance in millisatoshis
      • getBalance

        org.ngengine.platform.AsyncTask<java.lang.Long> getBalance​(@Nullable
                                                                   java.time.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
                                                            java.time.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<java.lang.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<java.lang.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.