840 lines
34 KiB
Objective-C
840 lines
34 KiB
Objective-C
// Objective-C API for talking to github.com/lightningnetwork/lnd/mobile Go package.
|
|
// gobind -lang=objc github.com/lightningnetwork/lnd/mobile
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
|
|
#ifndef __Lndmobile_H__
|
|
#define __Lndmobile_H__
|
|
|
|
@import Foundation;
|
|
#include "ref.h"
|
|
#include "Universe.objc.h"
|
|
|
|
|
|
@protocol LndmobileCallback;
|
|
@class LndmobileCallback;
|
|
@protocol LndmobileRecvStream;
|
|
@class LndmobileRecvStream;
|
|
@protocol LndmobileSendStream;
|
|
@class LndmobileSendStream;
|
|
|
|
@protocol LndmobileCallback <NSObject>
|
|
- (void)onError:(NSError* _Nullable)p0;
|
|
- (void)onResponse:(NSData* _Nullable)p0;
|
|
@end
|
|
|
|
@protocol LndmobileRecvStream <NSObject>
|
|
- (void)onError:(NSError* _Nullable)p0;
|
|
- (void)onResponse:(NSData* _Nullable)p0;
|
|
@end
|
|
|
|
@protocol LndmobileSendStream <NSObject>
|
|
- (BOOL)send:(NSData* _Nullable)p0 error:(NSError* _Nullable* _Nullable)error;
|
|
- (BOOL)stop:(NSError* _Nullable* _Nullable)error;
|
|
@end
|
|
|
|
/**
|
|
* AbandonChannel removes all channel state from the database except for a
|
|
close summary. This method can be used to get rid of permanently unusable
|
|
channels due to bugs fixed in newer versions of lnd. This method can also be
|
|
used to remove externally funded channels where the funding transaction was
|
|
never broadcast. Only available for non-externally funded channels in dev
|
|
build.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileAbandonChannel(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* AddInvoice attempts to add a new invoice to the invoice database. Any
|
|
duplicated invoices are rejected, therefore all invoices *must* have a
|
|
unique payment preimage.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileAddInvoice(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* BakeMacaroon allows the creation of a new macaroon with custom read and
|
|
write permissions. No first-party caveats are added since this can be done
|
|
offline.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileBakeMacaroon(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ChangePassword changes the password of the encrypted wallet. This will
|
|
automatically unlock the wallet database if successful.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileChangePassword(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ChannelAcceptor dispatches a bi-directional streaming RPC in which
|
|
OpenChannel requests are sent to the client and the client responds with
|
|
a boolean that tells LND whether or not to accept the channel. This allows
|
|
node operators to specify their own criteria for accepting inbound channels
|
|
through a single persistent connection.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced. The send stream can accept zero or more requests before it
|
|
is closed.
|
|
*/
|
|
FOUNDATION_EXPORT id<LndmobileSendStream> _Nullable LndmobileChannelAcceptor(id<LndmobileRecvStream> _Nullable rStream, NSError* _Nullable* _Nullable error);
|
|
|
|
/**
|
|
* ChannelBalance returns the total funds available across all open channels
|
|
in satoshis.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileChannelBalance(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* CloseChannel attempts to close an active channel identified by its channel
|
|
outpoint (ChannelPoint). The actions of this method can additionally be
|
|
augmented to attempt a force close after a timeout period in the case of an
|
|
inactive peer. If a non-force close (cooperative closure) is requested,
|
|
then the user can specify either a target number of blocks until the
|
|
closure transaction is confirmed, or a manual fee rate. If neither are
|
|
specified, then a default lax, block confirmation target is used.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileCloseChannel(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* ClosedChannels returns a description of all the closed channels that
|
|
this node was a participant in.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileClosedChannels(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ConnectPeer attempts to establish a connection to a remote peer. This is at
|
|
the networking level, and is used for communication between nodes. This is
|
|
distinct from establishing a channel with a peer.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileConnectPeer(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* DebugLevel allows a caller to programmatically set the logging verbosity of
|
|
lnd. The logging can be targeted according to a coarse daemon-wide logging
|
|
level, or in a granular fashion to specify the logging for a target
|
|
sub-system.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileDebugLevel(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* DecodePayReq takes an encoded payment request string and attempts to decode
|
|
it, returning a full description of the conditions encoded within the
|
|
payment request.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileDecodePayReq(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* DeleteAllPayments deletes all outgoing payments from DB.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileDeleteAllPayments(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* DescribeGraph returns a description of the latest graph state from the
|
|
point of view of the node. The graph information is partitioned into two
|
|
components: all the nodes/vertexes, and all the edges that connect the
|
|
vertexes themselves. As this is a directed graph, the edges also contain
|
|
the node directional specific routing policy which includes: the time lock
|
|
delta, fee information, etc.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileDescribeGraph(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* DisconnectPeer attempts to disconnect one peer from another identified by a
|
|
given pubKey. In the case that we currently have a pending or active channel
|
|
with the target peer, then this action will be not be allowed.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileDisconnectPeer(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* EstimateFee asks the chain backend to estimate the fee rate and total fees
|
|
for a transaction that pays to multiple specified outputs.
|
|
|
|
When using REST, the `AddrToAmount` map type can be set by appending
|
|
`&AddrToAmount[<address>]=<amount_to_send>` to the URL. Unfortunately this
|
|
map type doesn't appear in the REST API documentation because of a bug in
|
|
the grpc-gateway library.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileEstimateFee(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ExportAllChannelBackups returns static channel backups for all existing
|
|
channels known to lnd. A set of regular singular static channel backups for
|
|
each channel are returned. Additionally, a multi-channel backup is returned
|
|
as well, which contains a single encrypted blob containing the backups of
|
|
each channel.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileExportAllChannelBackups(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ExportChannelBackup attempts to return an encrypted static channel backup
|
|
for the target channel identified by it channel point. The backup is
|
|
encrypted with a key generated from the aezeed seed of the user. The
|
|
returned backup can either be restored using the RestoreChannelBackup
|
|
method once lnd is running, or via the InitWallet and UnlockWallet methods
|
|
from the WalletUnlocker service.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileExportChannelBackup(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* FeeReport allows the caller to obtain a report detailing the current fee
|
|
schedule enforced by the node globally for each channel.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileFeeReport(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ForwardingHistory allows the caller to query the htlcswitch for a record of
|
|
all HTLCs forwarded within the target time range, and integer offset
|
|
within that time range. If no time-range is specified, then the first chunk
|
|
of the past 24 hrs of forwarding history are returned.
|
|
|
|
A list of forwarding events are returned. The size of each forwarding event
|
|
is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.
|
|
As a result each message can only contain 50k entries. Each response has
|
|
the index offset of the last entry. The index offset can be provided to the
|
|
request to allow the caller to skip a series of records.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileForwardingHistory(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* FundingStateStep is an advanced funding related call that allows the caller
|
|
to either execute some preparatory steps for a funding workflow, or
|
|
manually progress a funding workflow. The primary way a funding flow is
|
|
identified is via its pending channel ID. As an example, this method can be
|
|
used to specify that we're expecting a funding flow for a particular
|
|
pending channel ID, for which we need to use specific parameters.
|
|
Alternatively, this can be used to interactively drive PSBT signing for
|
|
funding for partially complete funding transactions.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileFundingStateStep(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GenSeed is the first method that should be used to instantiate a new lnd
|
|
instance. This method allows a caller to generate a new aezeed cipher seed
|
|
given an optional passphrase. If provided, the passphrase will be necessary
|
|
to decrypt the cipherseed to expose the internal wallet seed.
|
|
|
|
Once the cipherseed is obtained and verified by the user, the InitWallet
|
|
method should be used to commit the newly generated seed, and create the
|
|
wallet.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGenSeed(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetChanInfo returns the latest authenticated network announcement for the
|
|
given channel identified by its channel ID: an 8-byte integer which
|
|
uniquely identifies the location of transaction's funding output within the
|
|
blockchain.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetChanInfo(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetInfo returns general information concerning the lightning node including
|
|
it's identity pubkey, alias, the chains it is connected to, and information
|
|
concerning the number of open+pending channels.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetInfo(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetNetworkInfo returns some basic stats about the known channel graph from
|
|
the point of view of the node.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetNetworkInfo(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetNodeInfo returns the latest advertised, aggregated, and authenticated
|
|
channel information for the specified node identified by its public key.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetNodeInfo(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetNodeMetrics returns node metrics calculated from the graph. Currently
|
|
the only supported metric is betweenness centrality of individual nodes.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetNodeMetrics(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetRecoveryInfo returns information concerning the recovery mode including
|
|
whether it's in a recovery mode, whether the recovery is finished, and the
|
|
progress made so far.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetRecoveryInfo(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* GetTransactions returns a list describing all the known transactions
|
|
relevant to the wallet.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileGetTransactions(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* InitWallet is used when lnd is starting up for the first time to fully
|
|
initialize the daemon and its internal wallet. At the very least a wallet
|
|
password must be provided. This will be used to encrypt sensitive material
|
|
on disk.
|
|
|
|
In the case of a recovery scenario, the user can also specify their aezeed
|
|
mnemonic and passphrase. If set, then the daemon will use this prior state
|
|
to initialize its internal wallet.
|
|
|
|
Alternatively, this can be used along with the GenSeed RPC to obtain a
|
|
seed, then present it to the user. Once it has been verified by the user,
|
|
the seed can be fed into this RPC in order to commit the new wallet.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileInitWallet(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ListChannels returns a description of all the open channels that this node
|
|
is a participant in.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListChannels(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ListInvoices returns a list of all the invoices currently stored within the
|
|
database. Any active debug invoices are ignored. It has full support for
|
|
paginated responses, allowing users to query for specific invoices through
|
|
their add_index. This can be done by using either the first_index_offset or
|
|
last_index_offset fields included in the response as the index_offset of the
|
|
next request. By default, the first 100 invoices created will be returned.
|
|
Backwards pagination is also supported through the Reversed flag.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListInvoices(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ListPayments returns a list of all outgoing payments.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListPayments(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ListPeers returns a verbose listing of all currently active peers.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListPeers(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ListPermissions lists all RPC method URIs and their required macaroon
|
|
permissions to access them.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListPermissions(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileListUnspent(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* LookupInvoice attempts to look up an invoice according to its payment hash.
|
|
The passed payment hash *must* be exactly 32 bytes, if not, an error is
|
|
returned.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileLookupInvoice(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* ModifyStatus is used to modify the status of the autopilot agent, like
|
|
enabling or disabling it.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileModifyStatus(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* NewAddress creates a new address under control of the local wallet.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileNewAddress(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* OpenChannel attempts to open a singly funded channel specified in the
|
|
request to a remote peer. Users are able to specify a target number of
|
|
blocks that the funding transaction should be confirmed in, or a manual fee
|
|
rate to us for the funding transaction. If neither are specified, then a
|
|
lax block confirmation target is used. Each OpenStatusUpdate will return
|
|
the pending channel ID of the in-progress channel. Depending on the
|
|
arguments specified in the OpenChannelRequest, this pending channel ID can
|
|
then be used to manually progress the channel funding flow.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileOpenChannel(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* OpenChannelSync is a synchronous version of the OpenChannel RPC call. This
|
|
call is meant to be consumed by clients to the REST proxy. As with all
|
|
other sync calls, all byte slices are intended to be populated as hex
|
|
encoded strings.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileOpenChannelSync(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* PendingChannels returns a list of all the channels that are currently
|
|
considered "pending". A channel is pending if it has finished the funding
|
|
workflow and is waiting for confirmations for the funding txn, or is in the
|
|
process of closure, either initiated cooperatively or non-cooperatively.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobilePendingChannels(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* QueryRoutes attempts to query the daemon's Channel Router for a possible
|
|
route to a target destination capable of carrying a specific amount of
|
|
satoshis. The returned route contains the full details required to craft and
|
|
send an HTLC, also including the necessary information that should be
|
|
present within the Sphinx packet encapsulated within the HTLC.
|
|
|
|
When using REST, the `dest_custom_records` map type can be set by appending
|
|
`&dest_custom_records[<record_number>]=<record_data_base64_url_encoded>`
|
|
to the URL. Unfortunately this map type doesn't appear in the REST API
|
|
documentation because of a bug in the grpc-gateway library.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileQueryRoutes(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* QueryScores queries all available autopilot heuristics, in addition to any
|
|
active combination of these heruristics, for the scores they would give to
|
|
the given nodes.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileQueryScores(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* RestoreChannelBackups accepts a set of singular channel backups, or a
|
|
single encrypted multi-chan backup and attempts to recover any funds
|
|
remaining within the channel. If we are able to unpack the backup, then the
|
|
new channel will be shown under listchannels, as well as pending channels.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileRestoreChannelBackups(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* SendCoins executes a request to send coins to a particular address. Unlike
|
|
SendMany, this RPC call only allows creating a single output at a time. If
|
|
neither target_conf, or sat_per_byte are set, then the internal wallet will
|
|
consult its fee model to determine a fee for the default confirmation
|
|
target.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSendCoins(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* SendMany handles a request for a transaction that creates multiple specified
|
|
outputs in parallel. If neither target_conf, or sat_per_byte are set, then
|
|
the internal wallet will consult its fee model to determine a fee for the
|
|
default confirmation target.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSendMany(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced. The send stream can accept zero or more requests before it
|
|
is closed.
|
|
*/
|
|
FOUNDATION_EXPORT id<LndmobileSendStream> _Nullable LndmobileSendPayment(id<LndmobileRecvStream> _Nullable rStream, NSError* _Nullable* _Nullable error);
|
|
|
|
/**
|
|
* SendPaymentSync is the synchronous non-streaming version of SendPayment.
|
|
This RPC is intended to be consumed by clients of the REST proxy.
|
|
Additionally, this RPC expects the destination's public key and the payment
|
|
hash (if any) to be encoded as hex strings.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSendPaymentSync(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced. The send stream can accept zero or more requests before it
|
|
is closed.
|
|
*/
|
|
FOUNDATION_EXPORT id<LndmobileSendStream> _Nullable LndmobileSendToRoute(id<LndmobileRecvStream> _Nullable rStream, NSError* _Nullable* _Nullable error);
|
|
|
|
/**
|
|
* SendToRouteSync is a synchronous version of SendToRoute. It Will block
|
|
until the payment either fails or succeeds.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSendToRouteSync(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* SetScores attempts to set the scores used by the running autopilot agent,
|
|
if the external scoring heuristic is enabled.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSetScores(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* SignMessage signs a message with this node's private key. The returned
|
|
signature string is `zbase32` encoded and pubkey recoverable, meaning that
|
|
only the message digest and signature are needed for verification.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSignMessage(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* Start starts lnd in a new goroutine.
|
|
|
|
extraArgs can be used to pass command line arguments to lnd that will
|
|
override what is found in the config file. Example:
|
|
extraArgs = "--bitcoin.testnet --lnddir=\"/tmp/folder name/\" --profile=5050"
|
|
|
|
The unlockerReady callback is called when the WalletUnlocker service is
|
|
ready, and rpcReady is called after the wallet has been unlocked and lnd is
|
|
ready to accept RPC calls.
|
|
|
|
NOTE: On mobile platforms the '--lnddir` argument should be set to the
|
|
current app directory in order to ensure lnd has the permissions needed to
|
|
write to it.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileStart(NSString* _Nullable extraArgs, id<LndmobileCallback> _Nullable unlockerReady, id<LndmobileCallback> _Nullable rpcReady);
|
|
|
|
/**
|
|
* Status returns whether the daemon's autopilot agent is active.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileStatus(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* StopDaemon will send a shutdown request to the interrupt handler, triggering
|
|
a graceful shutdown of the daemon.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileStopDaemon(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* SubscribeChannelBackups allows a client to sub-subscribe to the most up to
|
|
date information concerning the state of all channel backups. Each time a
|
|
new channel is added, we return the new set of channels, along with a
|
|
multi-chan backup containing the backup info for all channels. Each time a
|
|
channel is closed, we send a new update, which contains new new chan back
|
|
ups, but the updated set of encrypted multi-chan backups with the closed
|
|
channel(s) removed.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribeChannelBackups(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* SubscribeChannelEvents creates a uni-directional stream from the server to
|
|
the client in which any updates relevant to the state of the channels are
|
|
sent over. Events include new active channels, inactive channels, and closed
|
|
channels.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribeChannelEvents(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* SubscribeChannelGraph launches a streaming RPC that allows the caller to
|
|
receive notifications upon any changes to the channel graph topology from
|
|
the point of view of the responding node. Events notified include: new
|
|
nodes coming online, nodes updating their authenticated attributes, new
|
|
channels being advertised, updates in the routing policy for a directional
|
|
channel edge, and when channels are closed on-chain.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribeChannelGraph(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* SubscribeInvoices returns a uni-directional stream (server -> client) for
|
|
notifying the client of newly added/settled invoices. The caller can
|
|
optionally specify the add_index and/or the settle_index. If the add_index
|
|
is specified, then we'll first start by sending add invoice events for all
|
|
invoices with an add_index greater than the specified value. If the
|
|
settle_index is specified, the next, we'll send out all settle events for
|
|
invoices with a settle_index greater than the specified value. One or both
|
|
of these fields can be set. If no fields are set, then we'll only send out
|
|
the latest add/settle events.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribeInvoices(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* SubscribePeerEvents creates a uni-directional stream from the server to
|
|
the client in which any events relevant to the state of peers are sent
|
|
over. Events include peers going online and offline.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribePeerEvents(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* SubscribeTransactions creates a uni-directional stream from the server to
|
|
the client in which any newly discovered transactions relevant to the
|
|
wallet are sent over.
|
|
|
|
NOTE: This method produces a stream of responses, and the receive stream can
|
|
be called zero or more times. After EOF error is returned, no more responses
|
|
will be produced.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileSubscribeTransactions(NSData* _Nullable msg, id<LndmobileRecvStream> _Nullable rStream);
|
|
|
|
/**
|
|
* UnlockWallet is used at startup of lnd to provide a password to unlock
|
|
the wallet database.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileUnlockWallet(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* UpdateChannelPolicy allows the caller to update the fee schedule and
|
|
channel policies for all channels globally, or a particular channel.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileUpdateChannelPolicy(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* VerifyChanBackup allows a caller to verify the integrity of a channel backup
|
|
snapshot. This method will accept either a packed Single or a packed Multi.
|
|
Specifying both will result in an error.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileVerifyChanBackup(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* VerifyMessage verifies a signature over a msg. The signature must be
|
|
zbase32 encoded and signed by an active node in the resident node's
|
|
channel database. In addition to returning the validity of the signature,
|
|
VerifyMessage also returns the recovered pubkey from the signature.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileVerifyMessage(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
/**
|
|
* WalletBalance returns total unspent outputs(confirmed and unconfirmed), all
|
|
confirmed unspent outputs and all unconfirmed unspent outputs under control
|
|
of the wallet.
|
|
|
|
NOTE: This method produces a single result or error, and the callback will
|
|
be called only once.
|
|
*/
|
|
FOUNDATION_EXPORT void LndmobileWalletBalance(NSData* _Nullable msg, id<LndmobileCallback> _Nullable callback);
|
|
|
|
@class LndmobileCallback;
|
|
|
|
@class LndmobileRecvStream;
|
|
|
|
@class LndmobileSendStream;
|
|
|
|
/**
|
|
* Callback is an interface that is passed in by callers of the library, and
|
|
specifies where the responses should be delivered.
|
|
*/
|
|
@interface LndmobileCallback : NSObject <goSeqRefInterface, LndmobileCallback> {
|
|
}
|
|
@property(strong, readonly) _Nonnull id _ref;
|
|
|
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
|
/**
|
|
* OnError is called by the library if any error is encountered during
|
|
the execution of the RPC call.
|
|
*/
|
|
- (void)onError:(NSError* _Nullable)p0;
|
|
/**
|
|
* OnResponse is called by the library when a response from the daemon
|
|
for the associated RPC call is received. The reponse is a serialized
|
|
protobuf for the expected response, and must be deserialized by the
|
|
caller.
|
|
*/
|
|
- (void)onResponse:(NSData* _Nullable)p0;
|
|
@end
|
|
|
|
/**
|
|
* RecvStream is an interface that is passed in by callers of the library, and
|
|
specifies where the streaming responses should be delivered.
|
|
*/
|
|
@interface LndmobileRecvStream : NSObject <goSeqRefInterface, LndmobileRecvStream> {
|
|
}
|
|
@property(strong, readonly) _Nonnull id _ref;
|
|
|
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
|
/**
|
|
* OnError is called by the library if any error is encountered during
|
|
the execution of the RPC call, or if the response stream ends. No
|
|
more stream responses will be received after this.
|
|
*/
|
|
- (void)onError:(NSError* _Nullable)p0;
|
|
/**
|
|
* OnResponse is called by the library when a new stream response from
|
|
the daemon for the associated RPC call is available. The reponse is
|
|
a serialized protobuf for the expected response, and must be
|
|
deserialized by the caller.
|
|
*/
|
|
- (void)onResponse:(NSData* _Nullable)p0;
|
|
@end
|
|
|
|
/**
|
|
* SendStream is an interface that the caller of the library can use to send
|
|
requests to the server during the execution of a bidirectional streaming RPC
|
|
call, or stop the stream.
|
|
*/
|
|
@interface LndmobileSendStream : NSObject <goSeqRefInterface, LndmobileSendStream> {
|
|
}
|
|
@property(strong, readonly) _Nonnull id _ref;
|
|
|
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
|
/**
|
|
* Send sends the serialized protobuf request to the server.
|
|
*/
|
|
- (BOOL)send:(NSData* _Nullable)p0 error:(NSError* _Nullable* _Nullable)error;
|
|
/**
|
|
* Stop closes the bidirecrional connection.
|
|
*/
|
|
- (BOOL)stop:(NSError* _Nullable* _Nullable)error;
|
|
@end
|
|
|
|
#endif
|