// 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 - (void)onError:(NSError* _Nullable)p0; - (void)onResponse:(NSData* _Nullable)p0; @end @protocol LndmobileRecvStream - (void)onError:(NSError* _Nullable)p0; - (void)onResponse:(NSData* _Nullable)p0; @end @protocol LndmobileSendStream - (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 _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 _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 _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 _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 _Nullable LndmobileChannelAcceptor(id _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 _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 _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 _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 _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 _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 _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 _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 _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 _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[
]=` 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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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[]=` 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 _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 _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 _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 _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 _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 _Nullable LndmobileSendPayment(id _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 _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 _Nullable LndmobileSendToRoute(id _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 _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 _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 _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 _Nullable unlockerReady, id _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 { } @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 { } @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 { } @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