Interface Wallet
- All Known Implementing Classes:
NWCWallet
public interface Wallet
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the wallet and release any resources.default org.ngengine.platform.AsyncTask<Long> Get the msats balance of the wallet.org.ngengine.platform.AsyncTask<Long> getBalance(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> Get information about the wallet.org.ngengine.platform.AsyncTask<Boolean> isMethodSupported(Wallet.Methods method) Check if a specific method is supported by the wallet.booleanisReady()Check if the wallet is ready to use.default org.ngengine.platform.AsyncTask<List<TransactionInfo>> listTransactions(Instant from, Instant until, Integer limit, Integer offset, boolean includeUnpaid, TransactionType type) List transactions in the wallet.org.ngengine.platform.AsyncTask<List<TransactionInfo>> listTransactions(Instant from, Instant until, Integer limit, Integer offset, boolean includeUnpaid, TransactionType type, Instant expireRequestAt) List transactions in the wallet.default org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice(String paymentHash, String invoice) Lookup an invoice by payment hash or invoice string.org.ngengine.platform.AsyncTask<InvoiceData> lookupInvoice(String paymentHash, String invoice, Instant expireRequestAt) Lookup an invoice by payment hash or invoice string.default org.ngengine.platform.AsyncTask<InvoiceData> Create a lightning invoiceorg.ngengine.platform.AsyncTask<InvoiceData> makeInvoice(InvoiceProperties req, Instant expireRequestAt) Create a lightning invoicedefault org.ngengine.platform.AsyncTask<PayResponse> payInvoice(String invoice, Long amountMsats) Pay a lightning invoiceorg.ngengine.platform.AsyncTask<PayResponse> payInvoice(String invoice, Long amountMsats, Instant expireRequestAt) Pay a lightning invoiceorg.ngengine.platform.AsyncTask<Boolean> Wait for the wallet to be ready.
-
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 payamountMsats- 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 payamountMsats- the amount in millisatoshis to pay, or null to use the invoice amountexpireRequestAt- 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
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 createexpireRequestAt- 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 availableinvoice- 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 availableinvoice- the invoice string to lookup, or null if not availableexpireRequestAt- 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 timeuntil- the end time to filter transactions until, or null for no end timelimit- the maximum number of transactions to return, or null for no limitoffset- the offset to start returning transactions from, or null for no offsetincludeUnpaid- whether to include unpaid transactions, or false to exclude themtype- 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 timeuntil- the end time to filter transactions until, or null for no end timelimit- the maximum number of transactions to return, or null for no limitoffset- the offset to start returning transactions from, or null for no offsetincludeUnpaid- whether to include unpaid transactions, or false to exclude themtype- the type of transactions to filter by, or null for all typesexpireRequestAt- 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
Get the msats balance of the wallet.- Returns:
- an AsyncTask that resolves to the balance in millisatoshis
-
getBalance
-
getInfo
Get information about the wallet.- Returns:
- an AsyncTask that resolves to a WalletInfo containing the wallet details
-
getInfo
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
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.
-