• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 11963610117

21 Nov 2024 11:38PM UTC coverage: 59.117% (+0.1%) from 58.98%
11963610117

Pull #8754

github

ViktorTigerstrom
itest: wrap deriveCustomScopeAccounts at 80 chars

This commit fixes that word wrapping for the deriveCustomScopeAccounts
function docs, and ensures that it wraps at 80 characters or less.
Pull Request #8754: Add `Outbound` Remote Signer implementation

1950 of 2984 new or added lines in 44 files covered. (65.35%)

200 existing lines in 39 files now uncovered.

134504 of 227522 relevant lines covered (59.12%)

19449.04 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

43.08
/lnrpc/walletrpc/walletkit_grpc.pb.go
1
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
2

3
package walletrpc
4

5
import (
6
        context "context"
7
        lnrpc "github.com/lightningnetwork/lnd/lnrpc"
8
        signrpc "github.com/lightningnetwork/lnd/lnrpc/signrpc"
9
        grpc "google.golang.org/grpc"
10
        codes "google.golang.org/grpc/codes"
11
        status "google.golang.org/grpc/status"
12
)
13

14
// This is a compile-time assertion to ensure that this generated file
15
// is compatible with the grpc package it is being compiled against.
16
// Requires gRPC-Go v1.32.0 or later.
17
const _ = grpc.SupportPackageIsVersion7
18

19
// WalletKitClient is the client API for WalletKit service.
20
//
21
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
22
type WalletKitClient interface {
23
        // ListUnspent returns a list of all utxos spendable by the wallet with a
24
        // number of confirmations between the specified minimum and maximum. By
25
        // default, all utxos are listed. To list only the unconfirmed utxos, set
26
        // the unconfirmed_only to true.
27
        ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error)
28
        // lncli: `wallet leaseoutput`
29
        // LeaseOutput locks an output to the given ID, preventing it from being
30
        // available for any future coin selection attempts. The absolute time of the
31
        // lock's expiration is returned. The expiration of the lock can be extended by
32
        // successive invocations of this RPC. Outputs can be unlocked before their
33
        // expiration through `ReleaseOutput`.
34
        LeaseOutput(ctx context.Context, in *LeaseOutputRequest, opts ...grpc.CallOption) (*LeaseOutputResponse, error)
35
        // lncli: `wallet releaseoutput`
36
        // ReleaseOutput unlocks an output, allowing it to be available for coin
37
        // selection if it remains unspent. The ID should match the one used to
38
        // originally lock the output.
39
        ReleaseOutput(ctx context.Context, in *ReleaseOutputRequest, opts ...grpc.CallOption) (*ReleaseOutputResponse, error)
40
        // lncli: `wallet listleases`
41
        // ListLeases lists all currently locked utxos.
42
        ListLeases(ctx context.Context, in *ListLeasesRequest, opts ...grpc.CallOption) (*ListLeasesResponse, error)
43
        // DeriveNextKey attempts to derive the *next* key within the key family
44
        // (account in BIP43) specified. This method should return the next external
45
        // child within this branch.
46
        DeriveNextKey(ctx context.Context, in *KeyReq, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
47
        // DeriveKey attempts to derive an arbitrary key specified by the passed
48
        // KeyLocator.
49
        DeriveKey(ctx context.Context, in *signrpc.KeyLocator, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
50
        // NextAddr returns the next unused address within the wallet.
51
        NextAddr(ctx context.Context, in *AddrRequest, opts ...grpc.CallOption) (*AddrResponse, error)
52
        // lncli: `wallet gettx`
53
        // GetTransaction returns details for a transaction found in the wallet.
54
        GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*lnrpc.Transaction, error)
55
        // lncli: `wallet accounts list`
56
        // ListAccounts retrieves all accounts belonging to the wallet by default. A
57
        // name and key scope filter can be provided to filter through all of the
58
        // wallet accounts and return only those matching.
59
        ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error)
60
        // lncli: `wallet requiredreserve`
61
        // RequiredReserve returns the minimum amount of satoshis that should be kept
62
        // in the wallet in order to fee bump anchor channels if necessary. The value
63
        // scales with the number of public anchor channels but is capped at a maximum.
64
        RequiredReserve(ctx context.Context, in *RequiredReserveRequest, opts ...grpc.CallOption) (*RequiredReserveResponse, error)
65
        // lncli: `wallet addresses list`
66
        // ListAddresses retrieves all the addresses along with their balance. An
67
        // account name filter can be provided to filter through all of the
68
        // wallet accounts and return the addresses of only those matching.
69
        ListAddresses(ctx context.Context, in *ListAddressesRequest, opts ...grpc.CallOption) (*ListAddressesResponse, error)
70
        // lncli: `wallet addresses signmessage`
71
        // SignMessageWithAddr returns the compact signature (base64 encoded) created
72
        // with the private key of the provided address. This requires the address
73
        // to be solely based on a public key lock (no scripts). Obviously the internal
74
        // lnd wallet has to possess the private key of the address otherwise
75
        // an error is returned.
76
        //
77
        // This method aims to provide full compatibility with the bitcoin-core and
78
        // btcd implementation. Bitcoin-core's algorithm is not specified in a
79
        // BIP and only applicable for legacy addresses. This method enhances the
80
        // signing for additional address types: P2WKH, NP2WKH, P2TR.
81
        // For P2TR addresses this represents a special case. ECDSA is used to create
82
        // a compact signature which makes the public key of the signature recoverable.
83
        SignMessageWithAddr(ctx context.Context, in *SignMessageWithAddrRequest, opts ...grpc.CallOption) (*SignMessageWithAddrResponse, error)
84
        // lncli: `wallet addresses verifymessage`
85
        // VerifyMessageWithAddr returns the validity and the recovered public key of
86
        // the provided compact signature (base64 encoded). The verification is
87
        // twofold. First the validity of the signature itself is checked and then
88
        // it is verified that the recovered public key of the signature equals
89
        // the public key of the provided address. There is no dependence on the
90
        // private key of the address therefore also external addresses are allowed
91
        // to verify signatures.
92
        // Supported address types are P2PKH, P2WKH, NP2WKH, P2TR.
93
        //
94
        // This method is the counterpart of the related signing method
95
        // (SignMessageWithAddr) and aims to provide full compatibility to
96
        // bitcoin-core's implementation. Although bitcoin-core/btcd only provide
97
        // this functionality for legacy addresses this function enhances it to
98
        // the address types: P2PKH, P2WKH, NP2WKH, P2TR.
99
        //
100
        // The verification for P2TR addresses is a special case and requires the
101
        // ECDSA compact signature to compare the reovered public key to the internal
102
        // taproot key. The compact ECDSA signature format was used because there
103
        // are still no known compact signature schemes for schnorr signatures.
104
        VerifyMessageWithAddr(ctx context.Context, in *VerifyMessageWithAddrRequest, opts ...grpc.CallOption) (*VerifyMessageWithAddrResponse, error)
105
        // lncli: `wallet accounts import`
106
        // ImportAccount imports an account backed by an account extended public key.
107
        // The master key fingerprint denotes the fingerprint of the root key
108
        // corresponding to the account public key (also known as the key with
109
        // derivation path m/). This may be required by some hardware wallets for
110
        // proper identification and signing.
111
        //
112
        // The address type can usually be inferred from the key's version, but may be
113
        // required for certain keys to map them into the proper scope.
114
        //
115
        // For BIP-0044 keys, an address type must be specified as we intend to not
116
        // support importing BIP-0044 keys into the wallet using the legacy
117
        // pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
118
        // the standard BIP-0049 derivation scheme, while a witness address type will
119
        // force the standard BIP-0084 derivation scheme.
120
        //
121
        // For BIP-0049 keys, an address type must also be specified to make a
122
        // distinction between the standard BIP-0049 address schema (nested witness
123
        // pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
124
        // externally, witness pubkeys internally).
125
        //
126
        // NOTE: Events (deposits/spends) for keys derived from an account will only be
127
        // detected by lnd if they happen after the import. Rescans to detect past
128
        // events will be supported later on.
129
        ImportAccount(ctx context.Context, in *ImportAccountRequest, opts ...grpc.CallOption) (*ImportAccountResponse, error)
130
        // lncli: `wallet accounts import-pubkey`
131
        // ImportPublicKey imports a public key as watch-only into the wallet. The
132
        // public key is converted into a simple address of the given type and that
133
        // address script is watched on chain. For Taproot keys, this will only watch
134
        // the BIP-0086 style output script. Use ImportTapscript for more advanced key
135
        // spend or script spend outputs.
136
        //
137
        // NOTE: Events (deposits/spends) for a key will only be detected by lnd if
138
        // they happen after the import. Rescans to detect past events will be
139
        // supported later on.
140
        ImportPublicKey(ctx context.Context, in *ImportPublicKeyRequest, opts ...grpc.CallOption) (*ImportPublicKeyResponse, error)
141
        // ImportTapscript imports a Taproot script and internal key and adds the
142
        // resulting Taproot output key as a watch-only output script into the wallet.
143
        // For BIP-0086 style Taproot keys (no root hash commitment and no script spend
144
        // path) use ImportPublicKey.
145
        //
146
        // NOTE: Events (deposits/spends) for a key will only be detected by lnd if
147
        // they happen after the import. Rescans to detect past events will be
148
        // supported later on.
149
        //
150
        // NOTE: Taproot keys imported through this RPC currently _cannot_ be used for
151
        // funding PSBTs. Only tracking the balance and UTXOs is currently supported.
152
        ImportTapscript(ctx context.Context, in *ImportTapscriptRequest, opts ...grpc.CallOption) (*ImportTapscriptResponse, error)
153
        // lncli: `wallet publishtx`
154
        // PublishTransaction attempts to publish the passed transaction to the
155
        // network. Once this returns without an error, the wallet will continually
156
        // attempt to re-broadcast the transaction on start up, until it enters the
157
        // chain.
158
        PublishTransaction(ctx context.Context, in *Transaction, opts ...grpc.CallOption) (*PublishResponse, error)
159
        // lncli: `wallet removetx`
160
        // RemoveTransaction attempts to remove the provided transaction from the
161
        // internal transaction store of the wallet.
162
        RemoveTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*RemoveTransactionResponse, error)
163
        // SendOutputs is similar to the existing sendmany call in Bitcoind, and
164
        // allows the caller to create a transaction that sends to several outputs at
165
        // once. This is ideal when wanting to batch create a set of transactions.
166
        SendOutputs(ctx context.Context, in *SendOutputsRequest, opts ...grpc.CallOption) (*SendOutputsResponse, error)
167
        // lncli: `wallet estimatefeerate`
168
        // EstimateFee attempts to query the internal fee estimator of the wallet to
169
        // determine the fee (in sat/kw) to attach to a transaction in order to
170
        // achieve the confirmation target.
171
        EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error)
172
        // lncli: `wallet pendingsweeps`
173
        // PendingSweeps returns lists of on-chain outputs that lnd is currently
174
        // attempting to sweep within its central batching engine. Outputs with similar
175
        // fee rates are batched together in order to sweep them within a single
176
        // transaction.
177
        //
178
        // NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
179
        // remain supported. This is an advanced API that depends on the internals of
180
        // the UtxoSweeper, so things may change.
181
        PendingSweeps(ctx context.Context, in *PendingSweepsRequest, opts ...grpc.CallOption) (*PendingSweepsResponse, error)
182
        // lncli: `wallet bumpfee`
183
        // BumpFee is an endpoint that allows users to interact with lnd's sweeper
184
        // directly. It takes an outpoint from an unconfirmed transaction and sends it
185
        // to the sweeper for potential fee bumping. Depending on whether the outpoint
186
        // has been registered in the sweeper (an existing input, e.g., an anchor
187
        // output) or not (a new input, e.g., an unconfirmed wallet utxo), this will
188
        // either be an RBF or CPFP attempt.
189
        //
190
        // When receiving an input, lnd’s sweeper needs to understand its time
191
        // sensitivity to make economical fee bumps - internally a fee function is
192
        // created using the deadline and budget to guide the process. When the
193
        // deadline is approaching, the fee function will increase the fee rate and
194
        // perform an RBF.
195
        //
196
        // When a force close happens, all the outputs from the force closing
197
        // transaction will be registered in the sweeper. The sweeper will then handle
198
        // the creation, publish, and fee bumping of the sweeping transactions.
199
        // Everytime a new block comes in, unless the sweeping transaction is
200
        // confirmed, an RBF is attempted. To interfere with this automatic process,
201
        // users can use BumpFee to specify customized fee rate, budget, deadline, and
202
        // whether the sweep should happen immediately. It's recommended to call
203
        // `ListSweeps` to understand the shape of the existing sweeping transaction
204
        // first - depending on the number of inputs in this transaction, the RBF
205
        // requirements can be quite different.
206
        //
207
        // This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
208
        // (CPFP), where the child transaction pays for its parent's fee. This can be
209
        // done by specifying an outpoint within the low fee transaction that is under
210
        // the control of the wallet.
211
        BumpFee(ctx context.Context, in *BumpFeeRequest, opts ...grpc.CallOption) (*BumpFeeResponse, error)
212
        // lncli: `wallet bumpforceclosefee`
213
        // BumpForceCloseFee is an endpoint that allows users to bump the fee of a
214
        // channel force close. This only works for channels with option_anchors.
215
        BumpForceCloseFee(ctx context.Context, in *BumpForceCloseFeeRequest, opts ...grpc.CallOption) (*BumpForceCloseFeeResponse, error)
216
        // lncli: `wallet listsweeps`
217
        // ListSweeps returns a list of the sweep transactions our node has produced.
218
        // Note that these sweeps may not be confirmed yet, as we record sweeps on
219
        // broadcast, not confirmation.
220
        ListSweeps(ctx context.Context, in *ListSweepsRequest, opts ...grpc.CallOption) (*ListSweepsResponse, error)
221
        // lncli: `wallet labeltx`
222
        // LabelTransaction adds a label to a transaction. If the transaction already
223
        // has a label the call will fail unless the overwrite bool is set. This will
224
        // overwrite the existing transaction label. Labels must not be empty, and
225
        // cannot exceed 500 characters.
226
        LabelTransaction(ctx context.Context, in *LabelTransactionRequest, opts ...grpc.CallOption) (*LabelTransactionResponse, error)
227
        // lncli: `wallet psbt fund`
228
        // FundPsbt creates a fully populated PSBT that contains enough inputs to fund
229
        // the outputs specified in the template. There are three ways a user can
230
        // specify what we call the template (a list of inputs and outputs to use in
231
        // the PSBT): Either as a PSBT packet directly with no coin selection (using
232
        // the legacy "psbt" field), a PSBT with advanced coin selection support (using
233
        // the new "coin_select" field) or as a raw RPC message (using the "raw"
234
        // field).
235
        // The legacy "psbt" and "raw" modes, the following restrictions apply:
236
        // 1. If there are no inputs specified in the template, coin selection is
237
        // performed automatically.
238
        // 2. If the template does contain any inputs, it is assumed that full
239
        // coin selection happened externally and no additional inputs are added. If
240
        // the specified inputs aren't enough to fund the outputs with the given fee
241
        // rate, an error is returned.
242
        //
243
        // The new "coin_select" mode does not have these restrictions and allows the
244
        // user to specify a PSBT with inputs and outputs and still perform coin
245
        // selection on top of that.
246
        // For all modes this RPC requires any inputs that are specified to be locked
247
        // by the user (if they belong to this node in the first place).
248
        //
249
        // After either selecting or verifying the inputs, all input UTXOs are locked
250
        // with an internal app ID.
251
        //
252
        // NOTE: If this method returns without an error, it is the caller's
253
        // responsibility to either spend the locked UTXOs (by finalizing and then
254
        // publishing the transaction) or to unlock/release the locked UTXOs in case of
255
        // an error on the caller's side.
256
        FundPsbt(ctx context.Context, in *FundPsbtRequest, opts ...grpc.CallOption) (*FundPsbtResponse, error)
257
        // SignPsbt expects a partial transaction with all inputs and outputs fully
258
        // declared and tries to sign all unsigned inputs that have all required fields
259
        // (UTXO information, BIP32 derivation information, witness or sig scripts)
260
        // set.
261
        // If no error is returned, the PSBT is ready to be given to the next signer or
262
        // to be finalized if lnd was the last signer.
263
        //
264
        // NOTE: This RPC only signs inputs (and only those it can sign), it does not
265
        // perform any other tasks (such as coin selection, UTXO locking or
266
        // input/output/fee value validation, PSBT finalization). Any input that is
267
        // incomplete will be skipped.
268
        SignPsbt(ctx context.Context, in *SignPsbtRequest, opts ...grpc.CallOption) (*SignPsbtResponse, error)
269
        // lncli: `wallet psbt finalize`
270
        // FinalizePsbt expects a partial transaction with all inputs and outputs fully
271
        // declared and tries to sign all inputs that belong to the wallet. Lnd must be
272
        // the last signer of the transaction. That means, if there are any unsigned
273
        // non-witness inputs or inputs without UTXO information attached or inputs
274
        // without witness data that do not belong to lnd's wallet, this method will
275
        // fail. If no error is returned, the PSBT is ready to be extracted and the
276
        // final TX within to be broadcast.
277
        //
278
        // NOTE: This method does NOT publish the transaction once finalized. It is the
279
        // caller's responsibility to either publish the transaction on success or
280
        // unlock/release any locked UTXOs in case of an error in this method.
281
        FinalizePsbt(ctx context.Context, in *FinalizePsbtRequest, opts ...grpc.CallOption) (*FinalizePsbtResponse, error)
282
        // SignCoordinatorStreams dispatches a bi-directional streaming RPC that
283
        // allows a remote signer to connect to lnd and remotely provide the signatures
284
        // required for any on-chain related transactions or messages.
285
        SignCoordinatorStreams(ctx context.Context, opts ...grpc.CallOption) (WalletKit_SignCoordinatorStreamsClient, error)
286
}
287

288
type walletKitClient struct {
289
        cc grpc.ClientConnInterface
290
}
291

292
func NewWalletKitClient(cc grpc.ClientConnInterface) WalletKitClient {
4✔
293
        return &walletKitClient{cc}
4✔
294
}
4✔
295

296
func (c *walletKitClient) ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error) {
×
297
        out := new(ListUnspentResponse)
×
298
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ListUnspent", in, out, opts...)
×
299
        if err != nil {
×
300
                return nil, err
×
301
        }
×
302
        return out, nil
×
303
}
304

305
func (c *walletKitClient) LeaseOutput(ctx context.Context, in *LeaseOutputRequest, opts ...grpc.CallOption) (*LeaseOutputResponse, error) {
×
306
        out := new(LeaseOutputResponse)
×
307
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/LeaseOutput", in, out, opts...)
×
308
        if err != nil {
×
309
                return nil, err
×
310
        }
×
311
        return out, nil
×
312
}
313

314
func (c *walletKitClient) ReleaseOutput(ctx context.Context, in *ReleaseOutputRequest, opts ...grpc.CallOption) (*ReleaseOutputResponse, error) {
×
315
        out := new(ReleaseOutputResponse)
×
316
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ReleaseOutput", in, out, opts...)
×
317
        if err != nil {
×
318
                return nil, err
×
319
        }
×
320
        return out, nil
×
321
}
322

323
func (c *walletKitClient) ListLeases(ctx context.Context, in *ListLeasesRequest, opts ...grpc.CallOption) (*ListLeasesResponse, error) {
×
324
        out := new(ListLeasesResponse)
×
325
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ListLeases", in, out, opts...)
×
326
        if err != nil {
×
327
                return nil, err
×
328
        }
×
329
        return out, nil
×
330
}
331

332
func (c *walletKitClient) DeriveNextKey(ctx context.Context, in *KeyReq, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error) {
×
333
        out := new(signrpc.KeyDescriptor)
×
334
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/DeriveNextKey", in, out, opts...)
×
335
        if err != nil {
×
336
                return nil, err
×
337
        }
×
338
        return out, nil
×
339
}
340

341
func (c *walletKitClient) DeriveKey(ctx context.Context, in *signrpc.KeyLocator, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error) {
×
342
        out := new(signrpc.KeyDescriptor)
×
343
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/DeriveKey", in, out, opts...)
×
344
        if err != nil {
×
345
                return nil, err
×
346
        }
×
347
        return out, nil
×
348
}
349

350
func (c *walletKitClient) NextAddr(ctx context.Context, in *AddrRequest, opts ...grpc.CallOption) (*AddrResponse, error) {
4✔
351
        out := new(AddrResponse)
4✔
352
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/NextAddr", in, out, opts...)
4✔
353
        if err != nil {
4✔
354
                return nil, err
×
355
        }
×
356
        return out, nil
4✔
357
}
358

359
func (c *walletKitClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*lnrpc.Transaction, error) {
×
360
        out := new(lnrpc.Transaction)
×
361
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/GetTransaction", in, out, opts...)
×
362
        if err != nil {
×
363
                return nil, err
×
364
        }
×
365
        return out, nil
×
366
}
367

368
func (c *walletKitClient) ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error) {
×
369
        out := new(ListAccountsResponse)
×
370
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ListAccounts", in, out, opts...)
×
371
        if err != nil {
×
372
                return nil, err
×
373
        }
×
374
        return out, nil
×
375
}
376

377
func (c *walletKitClient) RequiredReserve(ctx context.Context, in *RequiredReserveRequest, opts ...grpc.CallOption) (*RequiredReserveResponse, error) {
×
378
        out := new(RequiredReserveResponse)
×
379
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/RequiredReserve", in, out, opts...)
×
380
        if err != nil {
×
381
                return nil, err
×
382
        }
×
383
        return out, nil
×
384
}
385

386
func (c *walletKitClient) ListAddresses(ctx context.Context, in *ListAddressesRequest, opts ...grpc.CallOption) (*ListAddressesResponse, error) {
×
387
        out := new(ListAddressesResponse)
×
388
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ListAddresses", in, out, opts...)
×
389
        if err != nil {
×
390
                return nil, err
×
391
        }
×
392
        return out, nil
×
393
}
394

395
func (c *walletKitClient) SignMessageWithAddr(ctx context.Context, in *SignMessageWithAddrRequest, opts ...grpc.CallOption) (*SignMessageWithAddrResponse, error) {
×
396
        out := new(SignMessageWithAddrResponse)
×
397
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/SignMessageWithAddr", in, out, opts...)
×
398
        if err != nil {
×
399
                return nil, err
×
400
        }
×
401
        return out, nil
×
402
}
403

404
func (c *walletKitClient) VerifyMessageWithAddr(ctx context.Context, in *VerifyMessageWithAddrRequest, opts ...grpc.CallOption) (*VerifyMessageWithAddrResponse, error) {
×
405
        out := new(VerifyMessageWithAddrResponse)
×
406
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/VerifyMessageWithAddr", in, out, opts...)
×
407
        if err != nil {
×
408
                return nil, err
×
409
        }
×
410
        return out, nil
×
411
}
412

413
func (c *walletKitClient) ImportAccount(ctx context.Context, in *ImportAccountRequest, opts ...grpc.CallOption) (*ImportAccountResponse, error) {
×
414
        out := new(ImportAccountResponse)
×
415
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ImportAccount", in, out, opts...)
×
416
        if err != nil {
×
417
                return nil, err
×
418
        }
×
419
        return out, nil
×
420
}
421

422
func (c *walletKitClient) ImportPublicKey(ctx context.Context, in *ImportPublicKeyRequest, opts ...grpc.CallOption) (*ImportPublicKeyResponse, error) {
×
423
        out := new(ImportPublicKeyResponse)
×
424
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ImportPublicKey", in, out, opts...)
×
425
        if err != nil {
×
426
                return nil, err
×
427
        }
×
428
        return out, nil
×
429
}
430

431
func (c *walletKitClient) ImportTapscript(ctx context.Context, in *ImportTapscriptRequest, opts ...grpc.CallOption) (*ImportTapscriptResponse, error) {
×
432
        out := new(ImportTapscriptResponse)
×
433
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ImportTapscript", in, out, opts...)
×
434
        if err != nil {
×
435
                return nil, err
×
436
        }
×
437
        return out, nil
×
438
}
439

440
func (c *walletKitClient) PublishTransaction(ctx context.Context, in *Transaction, opts ...grpc.CallOption) (*PublishResponse, error) {
×
441
        out := new(PublishResponse)
×
442
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/PublishTransaction", in, out, opts...)
×
443
        if err != nil {
×
444
                return nil, err
×
445
        }
×
446
        return out, nil
×
447
}
448

449
func (c *walletKitClient) RemoveTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*RemoveTransactionResponse, error) {
×
450
        out := new(RemoveTransactionResponse)
×
451
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/RemoveTransaction", in, out, opts...)
×
452
        if err != nil {
×
453
                return nil, err
×
454
        }
×
455
        return out, nil
×
456
}
457

458
func (c *walletKitClient) SendOutputs(ctx context.Context, in *SendOutputsRequest, opts ...grpc.CallOption) (*SendOutputsResponse, error) {
×
459
        out := new(SendOutputsResponse)
×
460
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/SendOutputs", in, out, opts...)
×
461
        if err != nil {
×
462
                return nil, err
×
463
        }
×
464
        return out, nil
×
465
}
466

467
func (c *walletKitClient) EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error) {
×
468
        out := new(EstimateFeeResponse)
×
469
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/EstimateFee", in, out, opts...)
×
470
        if err != nil {
×
471
                return nil, err
×
472
        }
×
473
        return out, nil
×
474
}
475

476
func (c *walletKitClient) PendingSweeps(ctx context.Context, in *PendingSweepsRequest, opts ...grpc.CallOption) (*PendingSweepsResponse, error) {
×
477
        out := new(PendingSweepsResponse)
×
478
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/PendingSweeps", in, out, opts...)
×
479
        if err != nil {
×
480
                return nil, err
×
481
        }
×
482
        return out, nil
×
483
}
484

485
func (c *walletKitClient) BumpFee(ctx context.Context, in *BumpFeeRequest, opts ...grpc.CallOption) (*BumpFeeResponse, error) {
×
486
        out := new(BumpFeeResponse)
×
487
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/BumpFee", in, out, opts...)
×
488
        if err != nil {
×
489
                return nil, err
×
490
        }
×
491
        return out, nil
×
492
}
493

494
func (c *walletKitClient) BumpForceCloseFee(ctx context.Context, in *BumpForceCloseFeeRequest, opts ...grpc.CallOption) (*BumpForceCloseFeeResponse, error) {
×
495
        out := new(BumpForceCloseFeeResponse)
×
496
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/BumpForceCloseFee", in, out, opts...)
×
497
        if err != nil {
×
498
                return nil, err
×
499
        }
×
500
        return out, nil
×
501
}
502

503
func (c *walletKitClient) ListSweeps(ctx context.Context, in *ListSweepsRequest, opts ...grpc.CallOption) (*ListSweepsResponse, error) {
×
504
        out := new(ListSweepsResponse)
×
505
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/ListSweeps", in, out, opts...)
×
506
        if err != nil {
×
507
                return nil, err
×
508
        }
×
509
        return out, nil
×
510
}
511

512
func (c *walletKitClient) LabelTransaction(ctx context.Context, in *LabelTransactionRequest, opts ...grpc.CallOption) (*LabelTransactionResponse, error) {
×
513
        out := new(LabelTransactionResponse)
×
514
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/LabelTransaction", in, out, opts...)
×
515
        if err != nil {
×
516
                return nil, err
×
517
        }
×
518
        return out, nil
×
519
}
520

521
func (c *walletKitClient) FundPsbt(ctx context.Context, in *FundPsbtRequest, opts ...grpc.CallOption) (*FundPsbtResponse, error) {
×
522
        out := new(FundPsbtResponse)
×
523
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/FundPsbt", in, out, opts...)
×
524
        if err != nil {
×
525
                return nil, err
×
526
        }
×
527
        return out, nil
×
528
}
529

530
func (c *walletKitClient) SignPsbt(ctx context.Context, in *SignPsbtRequest, opts ...grpc.CallOption) (*SignPsbtResponse, error) {
4✔
531
        out := new(SignPsbtResponse)
4✔
532
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/SignPsbt", in, out, opts...)
4✔
533
        if err != nil {
4✔
534
                return nil, err
×
535
        }
×
536
        return out, nil
4✔
537
}
538

539
func (c *walletKitClient) FinalizePsbt(ctx context.Context, in *FinalizePsbtRequest, opts ...grpc.CallOption) (*FinalizePsbtResponse, error) {
×
540
        out := new(FinalizePsbtResponse)
×
541
        err := c.cc.Invoke(ctx, "/walletrpc.WalletKit/FinalizePsbt", in, out, opts...)
×
542
        if err != nil {
×
543
                return nil, err
×
544
        }
×
545
        return out, nil
×
546
}
547

548
func (c *walletKitClient) SignCoordinatorStreams(ctx context.Context, opts ...grpc.CallOption) (WalletKit_SignCoordinatorStreamsClient, error) {
4✔
549
        stream, err := c.cc.NewStream(ctx, &WalletKit_ServiceDesc.Streams[0], "/walletrpc.WalletKit/SignCoordinatorStreams", opts...)
4✔
550
        if err != nil {
4✔
NEW
551
                return nil, err
×
NEW
552
        }
×
553
        x := &walletKitSignCoordinatorStreamsClient{stream}
4✔
554
        return x, nil
4✔
555
}
556

557
type WalletKit_SignCoordinatorStreamsClient interface {
558
        Send(*SignCoordinatorResponse) error
559
        Recv() (*SignCoordinatorRequest, error)
560
        grpc.ClientStream
561
}
562

563
type walletKitSignCoordinatorStreamsClient struct {
564
        grpc.ClientStream
565
}
566

567
func (x *walletKitSignCoordinatorStreamsClient) Send(m *SignCoordinatorResponse) error {
4✔
568
        return x.ClientStream.SendMsg(m)
4✔
569
}
4✔
570

571
func (x *walletKitSignCoordinatorStreamsClient) Recv() (*SignCoordinatorRequest, error) {
4✔
572
        m := new(SignCoordinatorRequest)
4✔
573
        if err := x.ClientStream.RecvMsg(m); err != nil {
8✔
574
                return nil, err
4✔
575
        }
4✔
576
        return m, nil
4✔
577
}
578

579
// WalletKitServer is the server API for WalletKit service.
580
// All implementations must embed UnimplementedWalletKitServer
581
// for forward compatibility
582
type WalletKitServer interface {
583
        // ListUnspent returns a list of all utxos spendable by the wallet with a
584
        // number of confirmations between the specified minimum and maximum. By
585
        // default, all utxos are listed. To list only the unconfirmed utxos, set
586
        // the unconfirmed_only to true.
587
        ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error)
588
        // lncli: `wallet leaseoutput`
589
        // LeaseOutput locks an output to the given ID, preventing it from being
590
        // available for any future coin selection attempts. The absolute time of the
591
        // lock's expiration is returned. The expiration of the lock can be extended by
592
        // successive invocations of this RPC. Outputs can be unlocked before their
593
        // expiration through `ReleaseOutput`.
594
        LeaseOutput(context.Context, *LeaseOutputRequest) (*LeaseOutputResponse, error)
595
        // lncli: `wallet releaseoutput`
596
        // ReleaseOutput unlocks an output, allowing it to be available for coin
597
        // selection if it remains unspent. The ID should match the one used to
598
        // originally lock the output.
599
        ReleaseOutput(context.Context, *ReleaseOutputRequest) (*ReleaseOutputResponse, error)
600
        // lncli: `wallet listleases`
601
        // ListLeases lists all currently locked utxos.
602
        ListLeases(context.Context, *ListLeasesRequest) (*ListLeasesResponse, error)
603
        // DeriveNextKey attempts to derive the *next* key within the key family
604
        // (account in BIP43) specified. This method should return the next external
605
        // child within this branch.
606
        DeriveNextKey(context.Context, *KeyReq) (*signrpc.KeyDescriptor, error)
607
        // DeriveKey attempts to derive an arbitrary key specified by the passed
608
        // KeyLocator.
609
        DeriveKey(context.Context, *signrpc.KeyLocator) (*signrpc.KeyDescriptor, error)
610
        // NextAddr returns the next unused address within the wallet.
611
        NextAddr(context.Context, *AddrRequest) (*AddrResponse, error)
612
        // lncli: `wallet gettx`
613
        // GetTransaction returns details for a transaction found in the wallet.
614
        GetTransaction(context.Context, *GetTransactionRequest) (*lnrpc.Transaction, error)
615
        // lncli: `wallet accounts list`
616
        // ListAccounts retrieves all accounts belonging to the wallet by default. A
617
        // name and key scope filter can be provided to filter through all of the
618
        // wallet accounts and return only those matching.
619
        ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error)
620
        // lncli: `wallet requiredreserve`
621
        // RequiredReserve returns the minimum amount of satoshis that should be kept
622
        // in the wallet in order to fee bump anchor channels if necessary. The value
623
        // scales with the number of public anchor channels but is capped at a maximum.
624
        RequiredReserve(context.Context, *RequiredReserveRequest) (*RequiredReserveResponse, error)
625
        // lncli: `wallet addresses list`
626
        // ListAddresses retrieves all the addresses along with their balance. An
627
        // account name filter can be provided to filter through all of the
628
        // wallet accounts and return the addresses of only those matching.
629
        ListAddresses(context.Context, *ListAddressesRequest) (*ListAddressesResponse, error)
630
        // lncli: `wallet addresses signmessage`
631
        // SignMessageWithAddr returns the compact signature (base64 encoded) created
632
        // with the private key of the provided address. This requires the address
633
        // to be solely based on a public key lock (no scripts). Obviously the internal
634
        // lnd wallet has to possess the private key of the address otherwise
635
        // an error is returned.
636
        //
637
        // This method aims to provide full compatibility with the bitcoin-core and
638
        // btcd implementation. Bitcoin-core's algorithm is not specified in a
639
        // BIP and only applicable for legacy addresses. This method enhances the
640
        // signing for additional address types: P2WKH, NP2WKH, P2TR.
641
        // For P2TR addresses this represents a special case. ECDSA is used to create
642
        // a compact signature which makes the public key of the signature recoverable.
643
        SignMessageWithAddr(context.Context, *SignMessageWithAddrRequest) (*SignMessageWithAddrResponse, error)
644
        // lncli: `wallet addresses verifymessage`
645
        // VerifyMessageWithAddr returns the validity and the recovered public key of
646
        // the provided compact signature (base64 encoded). The verification is
647
        // twofold. First the validity of the signature itself is checked and then
648
        // it is verified that the recovered public key of the signature equals
649
        // the public key of the provided address. There is no dependence on the
650
        // private key of the address therefore also external addresses are allowed
651
        // to verify signatures.
652
        // Supported address types are P2PKH, P2WKH, NP2WKH, P2TR.
653
        //
654
        // This method is the counterpart of the related signing method
655
        // (SignMessageWithAddr) and aims to provide full compatibility to
656
        // bitcoin-core's implementation. Although bitcoin-core/btcd only provide
657
        // this functionality for legacy addresses this function enhances it to
658
        // the address types: P2PKH, P2WKH, NP2WKH, P2TR.
659
        //
660
        // The verification for P2TR addresses is a special case and requires the
661
        // ECDSA compact signature to compare the reovered public key to the internal
662
        // taproot key. The compact ECDSA signature format was used because there
663
        // are still no known compact signature schemes for schnorr signatures.
664
        VerifyMessageWithAddr(context.Context, *VerifyMessageWithAddrRequest) (*VerifyMessageWithAddrResponse, error)
665
        // lncli: `wallet accounts import`
666
        // ImportAccount imports an account backed by an account extended public key.
667
        // The master key fingerprint denotes the fingerprint of the root key
668
        // corresponding to the account public key (also known as the key with
669
        // derivation path m/). This may be required by some hardware wallets for
670
        // proper identification and signing.
671
        //
672
        // The address type can usually be inferred from the key's version, but may be
673
        // required for certain keys to map them into the proper scope.
674
        //
675
        // For BIP-0044 keys, an address type must be specified as we intend to not
676
        // support importing BIP-0044 keys into the wallet using the legacy
677
        // pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
678
        // the standard BIP-0049 derivation scheme, while a witness address type will
679
        // force the standard BIP-0084 derivation scheme.
680
        //
681
        // For BIP-0049 keys, an address type must also be specified to make a
682
        // distinction between the standard BIP-0049 address schema (nested witness
683
        // pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
684
        // externally, witness pubkeys internally).
685
        //
686
        // NOTE: Events (deposits/spends) for keys derived from an account will only be
687
        // detected by lnd if they happen after the import. Rescans to detect past
688
        // events will be supported later on.
689
        ImportAccount(context.Context, *ImportAccountRequest) (*ImportAccountResponse, error)
690
        // lncli: `wallet accounts import-pubkey`
691
        // ImportPublicKey imports a public key as watch-only into the wallet. The
692
        // public key is converted into a simple address of the given type and that
693
        // address script is watched on chain. For Taproot keys, this will only watch
694
        // the BIP-0086 style output script. Use ImportTapscript for more advanced key
695
        // spend or script spend outputs.
696
        //
697
        // NOTE: Events (deposits/spends) for a key will only be detected by lnd if
698
        // they happen after the import. Rescans to detect past events will be
699
        // supported later on.
700
        ImportPublicKey(context.Context, *ImportPublicKeyRequest) (*ImportPublicKeyResponse, error)
701
        // ImportTapscript imports a Taproot script and internal key and adds the
702
        // resulting Taproot output key as a watch-only output script into the wallet.
703
        // For BIP-0086 style Taproot keys (no root hash commitment and no script spend
704
        // path) use ImportPublicKey.
705
        //
706
        // NOTE: Events (deposits/spends) for a key will only be detected by lnd if
707
        // they happen after the import. Rescans to detect past events will be
708
        // supported later on.
709
        //
710
        // NOTE: Taproot keys imported through this RPC currently _cannot_ be used for
711
        // funding PSBTs. Only tracking the balance and UTXOs is currently supported.
712
        ImportTapscript(context.Context, *ImportTapscriptRequest) (*ImportTapscriptResponse, error)
713
        // lncli: `wallet publishtx`
714
        // PublishTransaction attempts to publish the passed transaction to the
715
        // network. Once this returns without an error, the wallet will continually
716
        // attempt to re-broadcast the transaction on start up, until it enters the
717
        // chain.
718
        PublishTransaction(context.Context, *Transaction) (*PublishResponse, error)
719
        // lncli: `wallet removetx`
720
        // RemoveTransaction attempts to remove the provided transaction from the
721
        // internal transaction store of the wallet.
722
        RemoveTransaction(context.Context, *GetTransactionRequest) (*RemoveTransactionResponse, error)
723
        // SendOutputs is similar to the existing sendmany call in Bitcoind, and
724
        // allows the caller to create a transaction that sends to several outputs at
725
        // once. This is ideal when wanting to batch create a set of transactions.
726
        SendOutputs(context.Context, *SendOutputsRequest) (*SendOutputsResponse, error)
727
        // lncli: `wallet estimatefeerate`
728
        // EstimateFee attempts to query the internal fee estimator of the wallet to
729
        // determine the fee (in sat/kw) to attach to a transaction in order to
730
        // achieve the confirmation target.
731
        EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error)
732
        // lncli: `wallet pendingsweeps`
733
        // PendingSweeps returns lists of on-chain outputs that lnd is currently
734
        // attempting to sweep within its central batching engine. Outputs with similar
735
        // fee rates are batched together in order to sweep them within a single
736
        // transaction.
737
        //
738
        // NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
739
        // remain supported. This is an advanced API that depends on the internals of
740
        // the UtxoSweeper, so things may change.
741
        PendingSweeps(context.Context, *PendingSweepsRequest) (*PendingSweepsResponse, error)
742
        // lncli: `wallet bumpfee`
743
        // BumpFee is an endpoint that allows users to interact with lnd's sweeper
744
        // directly. It takes an outpoint from an unconfirmed transaction and sends it
745
        // to the sweeper for potential fee bumping. Depending on whether the outpoint
746
        // has been registered in the sweeper (an existing input, e.g., an anchor
747
        // output) or not (a new input, e.g., an unconfirmed wallet utxo), this will
748
        // either be an RBF or CPFP attempt.
749
        //
750
        // When receiving an input, lnd’s sweeper needs to understand its time
751
        // sensitivity to make economical fee bumps - internally a fee function is
752
        // created using the deadline and budget to guide the process. When the
753
        // deadline is approaching, the fee function will increase the fee rate and
754
        // perform an RBF.
755
        //
756
        // When a force close happens, all the outputs from the force closing
757
        // transaction will be registered in the sweeper. The sweeper will then handle
758
        // the creation, publish, and fee bumping of the sweeping transactions.
759
        // Everytime a new block comes in, unless the sweeping transaction is
760
        // confirmed, an RBF is attempted. To interfere with this automatic process,
761
        // users can use BumpFee to specify customized fee rate, budget, deadline, and
762
        // whether the sweep should happen immediately. It's recommended to call
763
        // `ListSweeps` to understand the shape of the existing sweeping transaction
764
        // first - depending on the number of inputs in this transaction, the RBF
765
        // requirements can be quite different.
766
        //
767
        // This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
768
        // (CPFP), where the child transaction pays for its parent's fee. This can be
769
        // done by specifying an outpoint within the low fee transaction that is under
770
        // the control of the wallet.
771
        BumpFee(context.Context, *BumpFeeRequest) (*BumpFeeResponse, error)
772
        // lncli: `wallet bumpforceclosefee`
773
        // BumpForceCloseFee is an endpoint that allows users to bump the fee of a
774
        // channel force close. This only works for channels with option_anchors.
775
        BumpForceCloseFee(context.Context, *BumpForceCloseFeeRequest) (*BumpForceCloseFeeResponse, error)
776
        // lncli: `wallet listsweeps`
777
        // ListSweeps returns a list of the sweep transactions our node has produced.
778
        // Note that these sweeps may not be confirmed yet, as we record sweeps on
779
        // broadcast, not confirmation.
780
        ListSweeps(context.Context, *ListSweepsRequest) (*ListSweepsResponse, error)
781
        // lncli: `wallet labeltx`
782
        // LabelTransaction adds a label to a transaction. If the transaction already
783
        // has a label the call will fail unless the overwrite bool is set. This will
784
        // overwrite the existing transaction label. Labels must not be empty, and
785
        // cannot exceed 500 characters.
786
        LabelTransaction(context.Context, *LabelTransactionRequest) (*LabelTransactionResponse, error)
787
        // lncli: `wallet psbt fund`
788
        // FundPsbt creates a fully populated PSBT that contains enough inputs to fund
789
        // the outputs specified in the template. There are three ways a user can
790
        // specify what we call the template (a list of inputs and outputs to use in
791
        // the PSBT): Either as a PSBT packet directly with no coin selection (using
792
        // the legacy "psbt" field), a PSBT with advanced coin selection support (using
793
        // the new "coin_select" field) or as a raw RPC message (using the "raw"
794
        // field).
795
        // The legacy "psbt" and "raw" modes, the following restrictions apply:
796
        // 1. If there are no inputs specified in the template, coin selection is
797
        // performed automatically.
798
        // 2. If the template does contain any inputs, it is assumed that full
799
        // coin selection happened externally and no additional inputs are added. If
800
        // the specified inputs aren't enough to fund the outputs with the given fee
801
        // rate, an error is returned.
802
        //
803
        // The new "coin_select" mode does not have these restrictions and allows the
804
        // user to specify a PSBT with inputs and outputs and still perform coin
805
        // selection on top of that.
806
        // For all modes this RPC requires any inputs that are specified to be locked
807
        // by the user (if they belong to this node in the first place).
808
        //
809
        // After either selecting or verifying the inputs, all input UTXOs are locked
810
        // with an internal app ID.
811
        //
812
        // NOTE: If this method returns without an error, it is the caller's
813
        // responsibility to either spend the locked UTXOs (by finalizing and then
814
        // publishing the transaction) or to unlock/release the locked UTXOs in case of
815
        // an error on the caller's side.
816
        FundPsbt(context.Context, *FundPsbtRequest) (*FundPsbtResponse, error)
817
        // SignPsbt expects a partial transaction with all inputs and outputs fully
818
        // declared and tries to sign all unsigned inputs that have all required fields
819
        // (UTXO information, BIP32 derivation information, witness or sig scripts)
820
        // set.
821
        // If no error is returned, the PSBT is ready to be given to the next signer or
822
        // to be finalized if lnd was the last signer.
823
        //
824
        // NOTE: This RPC only signs inputs (and only those it can sign), it does not
825
        // perform any other tasks (such as coin selection, UTXO locking or
826
        // input/output/fee value validation, PSBT finalization). Any input that is
827
        // incomplete will be skipped.
828
        SignPsbt(context.Context, *SignPsbtRequest) (*SignPsbtResponse, error)
829
        // lncli: `wallet psbt finalize`
830
        // FinalizePsbt expects a partial transaction with all inputs and outputs fully
831
        // declared and tries to sign all inputs that belong to the wallet. Lnd must be
832
        // the last signer of the transaction. That means, if there are any unsigned
833
        // non-witness inputs or inputs without UTXO information attached or inputs
834
        // without witness data that do not belong to lnd's wallet, this method will
835
        // fail. If no error is returned, the PSBT is ready to be extracted and the
836
        // final TX within to be broadcast.
837
        //
838
        // NOTE: This method does NOT publish the transaction once finalized. It is the
839
        // caller's responsibility to either publish the transaction on success or
840
        // unlock/release any locked UTXOs in case of an error in this method.
841
        FinalizePsbt(context.Context, *FinalizePsbtRequest) (*FinalizePsbtResponse, error)
842
        // SignCoordinatorStreams dispatches a bi-directional streaming RPC that
843
        // allows a remote signer to connect to lnd and remotely provide the signatures
844
        // required for any on-chain related transactions or messages.
845
        SignCoordinatorStreams(WalletKit_SignCoordinatorStreamsServer) error
846
        mustEmbedUnimplementedWalletKitServer()
847
}
848

849
// UnimplementedWalletKitServer must be embedded to have forward compatible implementations.
850
type UnimplementedWalletKitServer struct {
851
}
852

853
func (UnimplementedWalletKitServer) ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error) {
×
854
        return nil, status.Errorf(codes.Unimplemented, "method ListUnspent not implemented")
×
855
}
×
856
func (UnimplementedWalletKitServer) LeaseOutput(context.Context, *LeaseOutputRequest) (*LeaseOutputResponse, error) {
×
857
        return nil, status.Errorf(codes.Unimplemented, "method LeaseOutput not implemented")
×
858
}
×
859
func (UnimplementedWalletKitServer) ReleaseOutput(context.Context, *ReleaseOutputRequest) (*ReleaseOutputResponse, error) {
×
860
        return nil, status.Errorf(codes.Unimplemented, "method ReleaseOutput not implemented")
×
861
}
×
862
func (UnimplementedWalletKitServer) ListLeases(context.Context, *ListLeasesRequest) (*ListLeasesResponse, error) {
×
863
        return nil, status.Errorf(codes.Unimplemented, "method ListLeases not implemented")
×
864
}
×
865
func (UnimplementedWalletKitServer) DeriveNextKey(context.Context, *KeyReq) (*signrpc.KeyDescriptor, error) {
×
866
        return nil, status.Errorf(codes.Unimplemented, "method DeriveNextKey not implemented")
×
867
}
×
868
func (UnimplementedWalletKitServer) DeriveKey(context.Context, *signrpc.KeyLocator) (*signrpc.KeyDescriptor, error) {
×
869
        return nil, status.Errorf(codes.Unimplemented, "method DeriveKey not implemented")
×
870
}
×
871
func (UnimplementedWalletKitServer) NextAddr(context.Context, *AddrRequest) (*AddrResponse, error) {
×
872
        return nil, status.Errorf(codes.Unimplemented, "method NextAddr not implemented")
×
873
}
×
874
func (UnimplementedWalletKitServer) GetTransaction(context.Context, *GetTransactionRequest) (*lnrpc.Transaction, error) {
×
875
        return nil, status.Errorf(codes.Unimplemented, "method GetTransaction not implemented")
×
876
}
×
877
func (UnimplementedWalletKitServer) ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error) {
×
878
        return nil, status.Errorf(codes.Unimplemented, "method ListAccounts not implemented")
×
879
}
×
880
func (UnimplementedWalletKitServer) RequiredReserve(context.Context, *RequiredReserveRequest) (*RequiredReserveResponse, error) {
×
881
        return nil, status.Errorf(codes.Unimplemented, "method RequiredReserve not implemented")
×
882
}
×
883
func (UnimplementedWalletKitServer) ListAddresses(context.Context, *ListAddressesRequest) (*ListAddressesResponse, error) {
×
884
        return nil, status.Errorf(codes.Unimplemented, "method ListAddresses not implemented")
×
885
}
×
886
func (UnimplementedWalletKitServer) SignMessageWithAddr(context.Context, *SignMessageWithAddrRequest) (*SignMessageWithAddrResponse, error) {
×
887
        return nil, status.Errorf(codes.Unimplemented, "method SignMessageWithAddr not implemented")
×
888
}
×
889
func (UnimplementedWalletKitServer) VerifyMessageWithAddr(context.Context, *VerifyMessageWithAddrRequest) (*VerifyMessageWithAddrResponse, error) {
×
890
        return nil, status.Errorf(codes.Unimplemented, "method VerifyMessageWithAddr not implemented")
×
891
}
×
892
func (UnimplementedWalletKitServer) ImportAccount(context.Context, *ImportAccountRequest) (*ImportAccountResponse, error) {
×
893
        return nil, status.Errorf(codes.Unimplemented, "method ImportAccount not implemented")
×
894
}
×
895
func (UnimplementedWalletKitServer) ImportPublicKey(context.Context, *ImportPublicKeyRequest) (*ImportPublicKeyResponse, error) {
×
896
        return nil, status.Errorf(codes.Unimplemented, "method ImportPublicKey not implemented")
×
897
}
×
898
func (UnimplementedWalletKitServer) ImportTapscript(context.Context, *ImportTapscriptRequest) (*ImportTapscriptResponse, error) {
×
899
        return nil, status.Errorf(codes.Unimplemented, "method ImportTapscript not implemented")
×
900
}
×
901
func (UnimplementedWalletKitServer) PublishTransaction(context.Context, *Transaction) (*PublishResponse, error) {
×
902
        return nil, status.Errorf(codes.Unimplemented, "method PublishTransaction not implemented")
×
903
}
×
904
func (UnimplementedWalletKitServer) RemoveTransaction(context.Context, *GetTransactionRequest) (*RemoveTransactionResponse, error) {
×
905
        return nil, status.Errorf(codes.Unimplemented, "method RemoveTransaction not implemented")
×
906
}
×
907
func (UnimplementedWalletKitServer) SendOutputs(context.Context, *SendOutputsRequest) (*SendOutputsResponse, error) {
×
908
        return nil, status.Errorf(codes.Unimplemented, "method SendOutputs not implemented")
×
909
}
×
910
func (UnimplementedWalletKitServer) EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error) {
×
911
        return nil, status.Errorf(codes.Unimplemented, "method EstimateFee not implemented")
×
912
}
×
913
func (UnimplementedWalletKitServer) PendingSweeps(context.Context, *PendingSweepsRequest) (*PendingSweepsResponse, error) {
×
914
        return nil, status.Errorf(codes.Unimplemented, "method PendingSweeps not implemented")
×
915
}
×
916
func (UnimplementedWalletKitServer) BumpFee(context.Context, *BumpFeeRequest) (*BumpFeeResponse, error) {
×
917
        return nil, status.Errorf(codes.Unimplemented, "method BumpFee not implemented")
×
918
}
×
919
func (UnimplementedWalletKitServer) BumpForceCloseFee(context.Context, *BumpForceCloseFeeRequest) (*BumpForceCloseFeeResponse, error) {
×
920
        return nil, status.Errorf(codes.Unimplemented, "method BumpForceCloseFee not implemented")
×
921
}
×
922
func (UnimplementedWalletKitServer) ListSweeps(context.Context, *ListSweepsRequest) (*ListSweepsResponse, error) {
×
923
        return nil, status.Errorf(codes.Unimplemented, "method ListSweeps not implemented")
×
924
}
×
925
func (UnimplementedWalletKitServer) LabelTransaction(context.Context, *LabelTransactionRequest) (*LabelTransactionResponse, error) {
×
926
        return nil, status.Errorf(codes.Unimplemented, "method LabelTransaction not implemented")
×
927
}
×
928
func (UnimplementedWalletKitServer) FundPsbt(context.Context, *FundPsbtRequest) (*FundPsbtResponse, error) {
×
929
        return nil, status.Errorf(codes.Unimplemented, "method FundPsbt not implemented")
×
930
}
×
931
func (UnimplementedWalletKitServer) SignPsbt(context.Context, *SignPsbtRequest) (*SignPsbtResponse, error) {
×
932
        return nil, status.Errorf(codes.Unimplemented, "method SignPsbt not implemented")
×
933
}
×
934
func (UnimplementedWalletKitServer) FinalizePsbt(context.Context, *FinalizePsbtRequest) (*FinalizePsbtResponse, error) {
×
935
        return nil, status.Errorf(codes.Unimplemented, "method FinalizePsbt not implemented")
×
936
}
×
NEW
937
func (UnimplementedWalletKitServer) SignCoordinatorStreams(WalletKit_SignCoordinatorStreamsServer) error {
×
NEW
938
        return status.Errorf(codes.Unimplemented, "method SignCoordinatorStreams not implemented")
×
NEW
939
}
×
UNCOV
940
func (UnimplementedWalletKitServer) mustEmbedUnimplementedWalletKitServer() {}
×
941

942
// UnsafeWalletKitServer may be embedded to opt out of forward compatibility for this service.
943
// Use of this interface is not recommended, as added methods to WalletKitServer will
944
// result in compilation errors.
945
type UnsafeWalletKitServer interface {
946
        mustEmbedUnimplementedWalletKitServer()
947
}
948

949
func RegisterWalletKitServer(s grpc.ServiceRegistrar, srv WalletKitServer) {
4✔
950
        s.RegisterService(&WalletKit_ServiceDesc, srv)
4✔
951
}
4✔
952

953
func _WalletKit_ListUnspent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
954
        in := new(ListUnspentRequest)
4✔
955
        if err := dec(in); err != nil {
4✔
956
                return nil, err
×
957
        }
×
958
        if interceptor == nil {
4✔
959
                return srv.(WalletKitServer).ListUnspent(ctx, in)
×
960
        }
×
961
        info := &grpc.UnaryServerInfo{
4✔
962
                Server:     srv,
4✔
963
                FullMethod: "/walletrpc.WalletKit/ListUnspent",
4✔
964
        }
4✔
965
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
966
                return srv.(WalletKitServer).ListUnspent(ctx, req.(*ListUnspentRequest))
4✔
967
        }
4✔
968
        return interceptor(ctx, in, info, handler)
4✔
969
}
970

971
func _WalletKit_LeaseOutput_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
×
972
        in := new(LeaseOutputRequest)
×
973
        if err := dec(in); err != nil {
×
974
                return nil, err
×
975
        }
×
976
        if interceptor == nil {
×
977
                return srv.(WalletKitServer).LeaseOutput(ctx, in)
×
978
        }
×
979
        info := &grpc.UnaryServerInfo{
×
980
                Server:     srv,
×
981
                FullMethod: "/walletrpc.WalletKit/LeaseOutput",
×
982
        }
×
983
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
×
984
                return srv.(WalletKitServer).LeaseOutput(ctx, req.(*LeaseOutputRequest))
×
985
        }
×
986
        return interceptor(ctx, in, info, handler)
×
987
}
988

989
func _WalletKit_ReleaseOutput_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
×
990
        in := new(ReleaseOutputRequest)
×
991
        if err := dec(in); err != nil {
×
992
                return nil, err
×
993
        }
×
994
        if interceptor == nil {
×
995
                return srv.(WalletKitServer).ReleaseOutput(ctx, in)
×
996
        }
×
997
        info := &grpc.UnaryServerInfo{
×
998
                Server:     srv,
×
999
                FullMethod: "/walletrpc.WalletKit/ReleaseOutput",
×
1000
        }
×
1001
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
×
1002
                return srv.(WalletKitServer).ReleaseOutput(ctx, req.(*ReleaseOutputRequest))
×
1003
        }
×
1004
        return interceptor(ctx, in, info, handler)
×
1005
}
1006

1007
func _WalletKit_ListLeases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
×
1008
        in := new(ListLeasesRequest)
×
1009
        if err := dec(in); err != nil {
×
1010
                return nil, err
×
1011
        }
×
1012
        if interceptor == nil {
×
1013
                return srv.(WalletKitServer).ListLeases(ctx, in)
×
1014
        }
×
1015
        info := &grpc.UnaryServerInfo{
×
1016
                Server:     srv,
×
1017
                FullMethod: "/walletrpc.WalletKit/ListLeases",
×
1018
        }
×
1019
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
×
1020
                return srv.(WalletKitServer).ListLeases(ctx, req.(*ListLeasesRequest))
×
1021
        }
×
1022
        return interceptor(ctx, in, info, handler)
×
1023
}
1024

1025
func _WalletKit_DeriveNextKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1026
        in := new(KeyReq)
4✔
1027
        if err := dec(in); err != nil {
4✔
1028
                return nil, err
×
1029
        }
×
1030
        if interceptor == nil {
4✔
1031
                return srv.(WalletKitServer).DeriveNextKey(ctx, in)
×
1032
        }
×
1033
        info := &grpc.UnaryServerInfo{
4✔
1034
                Server:     srv,
4✔
1035
                FullMethod: "/walletrpc.WalletKit/DeriveNextKey",
4✔
1036
        }
4✔
1037
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1038
                return srv.(WalletKitServer).DeriveNextKey(ctx, req.(*KeyReq))
4✔
1039
        }
4✔
1040
        return interceptor(ctx, in, info, handler)
4✔
1041
}
1042

1043
func _WalletKit_DeriveKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1044
        in := new(signrpc.KeyLocator)
4✔
1045
        if err := dec(in); err != nil {
4✔
1046
                return nil, err
×
1047
        }
×
1048
        if interceptor == nil {
4✔
1049
                return srv.(WalletKitServer).DeriveKey(ctx, in)
×
1050
        }
×
1051
        info := &grpc.UnaryServerInfo{
4✔
1052
                Server:     srv,
4✔
1053
                FullMethod: "/walletrpc.WalletKit/DeriveKey",
4✔
1054
        }
4✔
1055
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1056
                return srv.(WalletKitServer).DeriveKey(ctx, req.(*signrpc.KeyLocator))
4✔
1057
        }
4✔
1058
        return interceptor(ctx, in, info, handler)
4✔
1059
}
1060

1061
func _WalletKit_NextAddr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1062
        in := new(AddrRequest)
4✔
1063
        if err := dec(in); err != nil {
4✔
1064
                return nil, err
×
1065
        }
×
1066
        if interceptor == nil {
4✔
1067
                return srv.(WalletKitServer).NextAddr(ctx, in)
×
1068
        }
×
1069
        info := &grpc.UnaryServerInfo{
4✔
1070
                Server:     srv,
4✔
1071
                FullMethod: "/walletrpc.WalletKit/NextAddr",
4✔
1072
        }
4✔
1073
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1074
                return srv.(WalletKitServer).NextAddr(ctx, req.(*AddrRequest))
4✔
1075
        }
4✔
1076
        return interceptor(ctx, in, info, handler)
4✔
1077
}
1078

1079
func _WalletKit_GetTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1080
        in := new(GetTransactionRequest)
4✔
1081
        if err := dec(in); err != nil {
4✔
1082
                return nil, err
×
1083
        }
×
1084
        if interceptor == nil {
4✔
1085
                return srv.(WalletKitServer).GetTransaction(ctx, in)
×
1086
        }
×
1087
        info := &grpc.UnaryServerInfo{
4✔
1088
                Server:     srv,
4✔
1089
                FullMethod: "/walletrpc.WalletKit/GetTransaction",
4✔
1090
        }
4✔
1091
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1092
                return srv.(WalletKitServer).GetTransaction(ctx, req.(*GetTransactionRequest))
4✔
1093
        }
4✔
1094
        return interceptor(ctx, in, info, handler)
4✔
1095
}
1096

1097
func _WalletKit_ListAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1098
        in := new(ListAccountsRequest)
4✔
1099
        if err := dec(in); err != nil {
4✔
1100
                return nil, err
×
1101
        }
×
1102
        if interceptor == nil {
4✔
1103
                return srv.(WalletKitServer).ListAccounts(ctx, in)
×
1104
        }
×
1105
        info := &grpc.UnaryServerInfo{
4✔
1106
                Server:     srv,
4✔
1107
                FullMethod: "/walletrpc.WalletKit/ListAccounts",
4✔
1108
        }
4✔
1109
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1110
                return srv.(WalletKitServer).ListAccounts(ctx, req.(*ListAccountsRequest))
4✔
1111
        }
4✔
1112
        return interceptor(ctx, in, info, handler)
4✔
1113
}
1114

1115
func _WalletKit_RequiredReserve_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1116
        in := new(RequiredReserveRequest)
4✔
1117
        if err := dec(in); err != nil {
4✔
1118
                return nil, err
×
1119
        }
×
1120
        if interceptor == nil {
4✔
1121
                return srv.(WalletKitServer).RequiredReserve(ctx, in)
×
1122
        }
×
1123
        info := &grpc.UnaryServerInfo{
4✔
1124
                Server:     srv,
4✔
1125
                FullMethod: "/walletrpc.WalletKit/RequiredReserve",
4✔
1126
        }
4✔
1127
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1128
                return srv.(WalletKitServer).RequiredReserve(ctx, req.(*RequiredReserveRequest))
4✔
1129
        }
4✔
1130
        return interceptor(ctx, in, info, handler)
4✔
1131
}
1132

1133
func _WalletKit_ListAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1134
        in := new(ListAddressesRequest)
4✔
1135
        if err := dec(in); err != nil {
4✔
1136
                return nil, err
×
1137
        }
×
1138
        if interceptor == nil {
4✔
1139
                return srv.(WalletKitServer).ListAddresses(ctx, in)
×
1140
        }
×
1141
        info := &grpc.UnaryServerInfo{
4✔
1142
                Server:     srv,
4✔
1143
                FullMethod: "/walletrpc.WalletKit/ListAddresses",
4✔
1144
        }
4✔
1145
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1146
                return srv.(WalletKitServer).ListAddresses(ctx, req.(*ListAddressesRequest))
4✔
1147
        }
4✔
1148
        return interceptor(ctx, in, info, handler)
4✔
1149
}
1150

1151
func _WalletKit_SignMessageWithAddr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1152
        in := new(SignMessageWithAddrRequest)
4✔
1153
        if err := dec(in); err != nil {
4✔
1154
                return nil, err
×
1155
        }
×
1156
        if interceptor == nil {
4✔
1157
                return srv.(WalletKitServer).SignMessageWithAddr(ctx, in)
×
1158
        }
×
1159
        info := &grpc.UnaryServerInfo{
4✔
1160
                Server:     srv,
4✔
1161
                FullMethod: "/walletrpc.WalletKit/SignMessageWithAddr",
4✔
1162
        }
4✔
1163
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1164
                return srv.(WalletKitServer).SignMessageWithAddr(ctx, req.(*SignMessageWithAddrRequest))
4✔
1165
        }
4✔
1166
        return interceptor(ctx, in, info, handler)
4✔
1167
}
1168

1169
func _WalletKit_VerifyMessageWithAddr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1170
        in := new(VerifyMessageWithAddrRequest)
4✔
1171
        if err := dec(in); err != nil {
4✔
1172
                return nil, err
×
1173
        }
×
1174
        if interceptor == nil {
4✔
1175
                return srv.(WalletKitServer).VerifyMessageWithAddr(ctx, in)
×
1176
        }
×
1177
        info := &grpc.UnaryServerInfo{
4✔
1178
                Server:     srv,
4✔
1179
                FullMethod: "/walletrpc.WalletKit/VerifyMessageWithAddr",
4✔
1180
        }
4✔
1181
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1182
                return srv.(WalletKitServer).VerifyMessageWithAddr(ctx, req.(*VerifyMessageWithAddrRequest))
4✔
1183
        }
4✔
1184
        return interceptor(ctx, in, info, handler)
4✔
1185
}
1186

1187
func _WalletKit_ImportAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1188
        in := new(ImportAccountRequest)
4✔
1189
        if err := dec(in); err != nil {
4✔
1190
                return nil, err
×
1191
        }
×
1192
        if interceptor == nil {
4✔
1193
                return srv.(WalletKitServer).ImportAccount(ctx, in)
×
1194
        }
×
1195
        info := &grpc.UnaryServerInfo{
4✔
1196
                Server:     srv,
4✔
1197
                FullMethod: "/walletrpc.WalletKit/ImportAccount",
4✔
1198
        }
4✔
1199
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1200
                return srv.(WalletKitServer).ImportAccount(ctx, req.(*ImportAccountRequest))
4✔
1201
        }
4✔
1202
        return interceptor(ctx, in, info, handler)
4✔
1203
}
1204

1205
func _WalletKit_ImportPublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1206
        in := new(ImportPublicKeyRequest)
4✔
1207
        if err := dec(in); err != nil {
4✔
1208
                return nil, err
×
1209
        }
×
1210
        if interceptor == nil {
4✔
1211
                return srv.(WalletKitServer).ImportPublicKey(ctx, in)
×
1212
        }
×
1213
        info := &grpc.UnaryServerInfo{
4✔
1214
                Server:     srv,
4✔
1215
                FullMethod: "/walletrpc.WalletKit/ImportPublicKey",
4✔
1216
        }
4✔
1217
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1218
                return srv.(WalletKitServer).ImportPublicKey(ctx, req.(*ImportPublicKeyRequest))
4✔
1219
        }
4✔
1220
        return interceptor(ctx, in, info, handler)
4✔
1221
}
1222

1223
func _WalletKit_ImportTapscript_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1224
        in := new(ImportTapscriptRequest)
4✔
1225
        if err := dec(in); err != nil {
4✔
1226
                return nil, err
×
1227
        }
×
1228
        if interceptor == nil {
4✔
1229
                return srv.(WalletKitServer).ImportTapscript(ctx, in)
×
1230
        }
×
1231
        info := &grpc.UnaryServerInfo{
4✔
1232
                Server:     srv,
4✔
1233
                FullMethod: "/walletrpc.WalletKit/ImportTapscript",
4✔
1234
        }
4✔
1235
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1236
                return srv.(WalletKitServer).ImportTapscript(ctx, req.(*ImportTapscriptRequest))
4✔
1237
        }
4✔
1238
        return interceptor(ctx, in, info, handler)
4✔
1239
}
1240

1241
func _WalletKit_PublishTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1242
        in := new(Transaction)
4✔
1243
        if err := dec(in); err != nil {
4✔
1244
                return nil, err
×
1245
        }
×
1246
        if interceptor == nil {
4✔
1247
                return srv.(WalletKitServer).PublishTransaction(ctx, in)
×
1248
        }
×
1249
        info := &grpc.UnaryServerInfo{
4✔
1250
                Server:     srv,
4✔
1251
                FullMethod: "/walletrpc.WalletKit/PublishTransaction",
4✔
1252
        }
4✔
1253
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1254
                return srv.(WalletKitServer).PublishTransaction(ctx, req.(*Transaction))
4✔
1255
        }
4✔
1256
        return interceptor(ctx, in, info, handler)
4✔
1257
}
1258

1259
func _WalletKit_RemoveTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1260
        in := new(GetTransactionRequest)
4✔
1261
        if err := dec(in); err != nil {
4✔
1262
                return nil, err
×
1263
        }
×
1264
        if interceptor == nil {
4✔
1265
                return srv.(WalletKitServer).RemoveTransaction(ctx, in)
×
1266
        }
×
1267
        info := &grpc.UnaryServerInfo{
4✔
1268
                Server:     srv,
4✔
1269
                FullMethod: "/walletrpc.WalletKit/RemoveTransaction",
4✔
1270
        }
4✔
1271
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1272
                return srv.(WalletKitServer).RemoveTransaction(ctx, req.(*GetTransactionRequest))
4✔
1273
        }
4✔
1274
        return interceptor(ctx, in, info, handler)
4✔
1275
}
1276

1277
func _WalletKit_SendOutputs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1278
        in := new(SendOutputsRequest)
4✔
1279
        if err := dec(in); err != nil {
4✔
1280
                return nil, err
×
1281
        }
×
1282
        if interceptor == nil {
4✔
1283
                return srv.(WalletKitServer).SendOutputs(ctx, in)
×
1284
        }
×
1285
        info := &grpc.UnaryServerInfo{
4✔
1286
                Server:     srv,
4✔
1287
                FullMethod: "/walletrpc.WalletKit/SendOutputs",
4✔
1288
        }
4✔
1289
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1290
                return srv.(WalletKitServer).SendOutputs(ctx, req.(*SendOutputsRequest))
4✔
1291
        }
4✔
1292
        return interceptor(ctx, in, info, handler)
4✔
1293
}
1294

1295
func _WalletKit_EstimateFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
×
1296
        in := new(EstimateFeeRequest)
×
1297
        if err := dec(in); err != nil {
×
1298
                return nil, err
×
1299
        }
×
1300
        if interceptor == nil {
×
1301
                return srv.(WalletKitServer).EstimateFee(ctx, in)
×
1302
        }
×
1303
        info := &grpc.UnaryServerInfo{
×
1304
                Server:     srv,
×
1305
                FullMethod: "/walletrpc.WalletKit/EstimateFee",
×
1306
        }
×
1307
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
×
1308
                return srv.(WalletKitServer).EstimateFee(ctx, req.(*EstimateFeeRequest))
×
1309
        }
×
1310
        return interceptor(ctx, in, info, handler)
×
1311
}
1312

1313
func _WalletKit_PendingSweeps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1314
        in := new(PendingSweepsRequest)
4✔
1315
        if err := dec(in); err != nil {
4✔
1316
                return nil, err
×
1317
        }
×
1318
        if interceptor == nil {
4✔
1319
                return srv.(WalletKitServer).PendingSweeps(ctx, in)
×
1320
        }
×
1321
        info := &grpc.UnaryServerInfo{
4✔
1322
                Server:     srv,
4✔
1323
                FullMethod: "/walletrpc.WalletKit/PendingSweeps",
4✔
1324
        }
4✔
1325
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1326
                return srv.(WalletKitServer).PendingSweeps(ctx, req.(*PendingSweepsRequest))
4✔
1327
        }
4✔
1328
        return interceptor(ctx, in, info, handler)
4✔
1329
}
1330

1331
func _WalletKit_BumpFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1332
        in := new(BumpFeeRequest)
4✔
1333
        if err := dec(in); err != nil {
4✔
1334
                return nil, err
×
1335
        }
×
1336
        if interceptor == nil {
4✔
1337
                return srv.(WalletKitServer).BumpFee(ctx, in)
×
1338
        }
×
1339
        info := &grpc.UnaryServerInfo{
4✔
1340
                Server:     srv,
4✔
1341
                FullMethod: "/walletrpc.WalletKit/BumpFee",
4✔
1342
        }
4✔
1343
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1344
                return srv.(WalletKitServer).BumpFee(ctx, req.(*BumpFeeRequest))
4✔
1345
        }
4✔
1346
        return interceptor(ctx, in, info, handler)
4✔
1347
}
1348

1349
func _WalletKit_BumpForceCloseFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3✔
1350
        in := new(BumpForceCloseFeeRequest)
3✔
1351
        if err := dec(in); err != nil {
3✔
1352
                return nil, err
×
1353
        }
×
1354
        if interceptor == nil {
3✔
1355
                return srv.(WalletKitServer).BumpForceCloseFee(ctx, in)
×
1356
        }
×
1357
        info := &grpc.UnaryServerInfo{
3✔
1358
                Server:     srv,
3✔
1359
                FullMethod: "/walletrpc.WalletKit/BumpForceCloseFee",
3✔
1360
        }
3✔
1361
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6✔
1362
                return srv.(WalletKitServer).BumpForceCloseFee(ctx, req.(*BumpForceCloseFeeRequest))
3✔
1363
        }
3✔
1364
        return interceptor(ctx, in, info, handler)
3✔
1365
}
1366

1367
func _WalletKit_ListSweeps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1368
        in := new(ListSweepsRequest)
4✔
1369
        if err := dec(in); err != nil {
4✔
1370
                return nil, err
×
1371
        }
×
1372
        if interceptor == nil {
4✔
1373
                return srv.(WalletKitServer).ListSweeps(ctx, in)
×
1374
        }
×
1375
        info := &grpc.UnaryServerInfo{
4✔
1376
                Server:     srv,
4✔
1377
                FullMethod: "/walletrpc.WalletKit/ListSweeps",
4✔
1378
        }
4✔
1379
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1380
                return srv.(WalletKitServer).ListSweeps(ctx, req.(*ListSweepsRequest))
4✔
1381
        }
4✔
1382
        return interceptor(ctx, in, info, handler)
4✔
1383
}
1384

1385
func _WalletKit_LabelTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1386
        in := new(LabelTransactionRequest)
4✔
1387
        if err := dec(in); err != nil {
4✔
1388
                return nil, err
×
1389
        }
×
1390
        if interceptor == nil {
4✔
1391
                return srv.(WalletKitServer).LabelTransaction(ctx, in)
×
1392
        }
×
1393
        info := &grpc.UnaryServerInfo{
4✔
1394
                Server:     srv,
4✔
1395
                FullMethod: "/walletrpc.WalletKit/LabelTransaction",
4✔
1396
        }
4✔
1397
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1398
                return srv.(WalletKitServer).LabelTransaction(ctx, req.(*LabelTransactionRequest))
4✔
1399
        }
4✔
1400
        return interceptor(ctx, in, info, handler)
4✔
1401
}
1402

1403
func _WalletKit_FundPsbt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1404
        in := new(FundPsbtRequest)
4✔
1405
        if err := dec(in); err != nil {
4✔
1406
                return nil, err
×
1407
        }
×
1408
        if interceptor == nil {
4✔
1409
                return srv.(WalletKitServer).FundPsbt(ctx, in)
×
1410
        }
×
1411
        info := &grpc.UnaryServerInfo{
4✔
1412
                Server:     srv,
4✔
1413
                FullMethod: "/walletrpc.WalletKit/FundPsbt",
4✔
1414
        }
4✔
1415
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1416
                return srv.(WalletKitServer).FundPsbt(ctx, req.(*FundPsbtRequest))
4✔
1417
        }
4✔
1418
        return interceptor(ctx, in, info, handler)
4✔
1419
}
1420

1421
func _WalletKit_SignPsbt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1422
        in := new(SignPsbtRequest)
4✔
1423
        if err := dec(in); err != nil {
4✔
1424
                return nil, err
×
1425
        }
×
1426
        if interceptor == nil {
4✔
1427
                return srv.(WalletKitServer).SignPsbt(ctx, in)
×
1428
        }
×
1429
        info := &grpc.UnaryServerInfo{
4✔
1430
                Server:     srv,
4✔
1431
                FullMethod: "/walletrpc.WalletKit/SignPsbt",
4✔
1432
        }
4✔
1433
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1434
                return srv.(WalletKitServer).SignPsbt(ctx, req.(*SignPsbtRequest))
4✔
1435
        }
4✔
1436
        return interceptor(ctx, in, info, handler)
4✔
1437
}
1438

1439
func _WalletKit_FinalizePsbt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4✔
1440
        in := new(FinalizePsbtRequest)
4✔
1441
        if err := dec(in); err != nil {
4✔
1442
                return nil, err
×
1443
        }
×
1444
        if interceptor == nil {
4✔
1445
                return srv.(WalletKitServer).FinalizePsbt(ctx, in)
×
1446
        }
×
1447
        info := &grpc.UnaryServerInfo{
4✔
1448
                Server:     srv,
4✔
1449
                FullMethod: "/walletrpc.WalletKit/FinalizePsbt",
4✔
1450
        }
4✔
1451
        handler := func(ctx context.Context, req interface{}) (interface{}, error) {
8✔
1452
                return srv.(WalletKitServer).FinalizePsbt(ctx, req.(*FinalizePsbtRequest))
4✔
1453
        }
4✔
1454
        return interceptor(ctx, in, info, handler)
4✔
1455
}
1456

1457
func _WalletKit_SignCoordinatorStreams_Handler(srv interface{}, stream grpc.ServerStream) error {
4✔
1458
        return srv.(WalletKitServer).SignCoordinatorStreams(&walletKitSignCoordinatorStreamsServer{stream})
4✔
1459
}
4✔
1460

1461
type WalletKit_SignCoordinatorStreamsServer interface {
1462
        Send(*SignCoordinatorRequest) error
1463
        Recv() (*SignCoordinatorResponse, error)
1464
        grpc.ServerStream
1465
}
1466

1467
type walletKitSignCoordinatorStreamsServer struct {
1468
        grpc.ServerStream
1469
}
1470

1471
func (x *walletKitSignCoordinatorStreamsServer) Send(m *SignCoordinatorRequest) error {
4✔
1472
        return x.ServerStream.SendMsg(m)
4✔
1473
}
4✔
1474

1475
func (x *walletKitSignCoordinatorStreamsServer) Recv() (*SignCoordinatorResponse, error) {
4✔
1476
        m := new(SignCoordinatorResponse)
4✔
1477
        if err := x.ServerStream.RecvMsg(m); err != nil {
8✔
1478
                return nil, err
4✔
1479
        }
4✔
1480
        return m, nil
4✔
1481
}
1482

1483
// WalletKit_ServiceDesc is the grpc.ServiceDesc for WalletKit service.
1484
// It's only intended for direct use with grpc.RegisterService,
1485
// and not to be introspected or modified (even as a copy)
1486
var WalletKit_ServiceDesc = grpc.ServiceDesc{
1487
        ServiceName: "walletrpc.WalletKit",
1488
        HandlerType: (*WalletKitServer)(nil),
1489
        Methods: []grpc.MethodDesc{
1490
                {
1491
                        MethodName: "ListUnspent",
1492
                        Handler:    _WalletKit_ListUnspent_Handler,
1493
                },
1494
                {
1495
                        MethodName: "LeaseOutput",
1496
                        Handler:    _WalletKit_LeaseOutput_Handler,
1497
                },
1498
                {
1499
                        MethodName: "ReleaseOutput",
1500
                        Handler:    _WalletKit_ReleaseOutput_Handler,
1501
                },
1502
                {
1503
                        MethodName: "ListLeases",
1504
                        Handler:    _WalletKit_ListLeases_Handler,
1505
                },
1506
                {
1507
                        MethodName: "DeriveNextKey",
1508
                        Handler:    _WalletKit_DeriveNextKey_Handler,
1509
                },
1510
                {
1511
                        MethodName: "DeriveKey",
1512
                        Handler:    _WalletKit_DeriveKey_Handler,
1513
                },
1514
                {
1515
                        MethodName: "NextAddr",
1516
                        Handler:    _WalletKit_NextAddr_Handler,
1517
                },
1518
                {
1519
                        MethodName: "GetTransaction",
1520
                        Handler:    _WalletKit_GetTransaction_Handler,
1521
                },
1522
                {
1523
                        MethodName: "ListAccounts",
1524
                        Handler:    _WalletKit_ListAccounts_Handler,
1525
                },
1526
                {
1527
                        MethodName: "RequiredReserve",
1528
                        Handler:    _WalletKit_RequiredReserve_Handler,
1529
                },
1530
                {
1531
                        MethodName: "ListAddresses",
1532
                        Handler:    _WalletKit_ListAddresses_Handler,
1533
                },
1534
                {
1535
                        MethodName: "SignMessageWithAddr",
1536
                        Handler:    _WalletKit_SignMessageWithAddr_Handler,
1537
                },
1538
                {
1539
                        MethodName: "VerifyMessageWithAddr",
1540
                        Handler:    _WalletKit_VerifyMessageWithAddr_Handler,
1541
                },
1542
                {
1543
                        MethodName: "ImportAccount",
1544
                        Handler:    _WalletKit_ImportAccount_Handler,
1545
                },
1546
                {
1547
                        MethodName: "ImportPublicKey",
1548
                        Handler:    _WalletKit_ImportPublicKey_Handler,
1549
                },
1550
                {
1551
                        MethodName: "ImportTapscript",
1552
                        Handler:    _WalletKit_ImportTapscript_Handler,
1553
                },
1554
                {
1555
                        MethodName: "PublishTransaction",
1556
                        Handler:    _WalletKit_PublishTransaction_Handler,
1557
                },
1558
                {
1559
                        MethodName: "RemoveTransaction",
1560
                        Handler:    _WalletKit_RemoveTransaction_Handler,
1561
                },
1562
                {
1563
                        MethodName: "SendOutputs",
1564
                        Handler:    _WalletKit_SendOutputs_Handler,
1565
                },
1566
                {
1567
                        MethodName: "EstimateFee",
1568
                        Handler:    _WalletKit_EstimateFee_Handler,
1569
                },
1570
                {
1571
                        MethodName: "PendingSweeps",
1572
                        Handler:    _WalletKit_PendingSweeps_Handler,
1573
                },
1574
                {
1575
                        MethodName: "BumpFee",
1576
                        Handler:    _WalletKit_BumpFee_Handler,
1577
                },
1578
                {
1579
                        MethodName: "BumpForceCloseFee",
1580
                        Handler:    _WalletKit_BumpForceCloseFee_Handler,
1581
                },
1582
                {
1583
                        MethodName: "ListSweeps",
1584
                        Handler:    _WalletKit_ListSweeps_Handler,
1585
                },
1586
                {
1587
                        MethodName: "LabelTransaction",
1588
                        Handler:    _WalletKit_LabelTransaction_Handler,
1589
                },
1590
                {
1591
                        MethodName: "FundPsbt",
1592
                        Handler:    _WalletKit_FundPsbt_Handler,
1593
                },
1594
                {
1595
                        MethodName: "SignPsbt",
1596
                        Handler:    _WalletKit_SignPsbt_Handler,
1597
                },
1598
                {
1599
                        MethodName: "FinalizePsbt",
1600
                        Handler:    _WalletKit_FinalizePsbt_Handler,
1601
                },
1602
        },
1603
        Streams: []grpc.StreamDesc{
1604
                {
1605
                        StreamName:    "SignCoordinatorStreams",
1606
                        Handler:       _WalletKit_SignCoordinatorStreams_Handler,
1607
                        ServerStreams: true,
1608
                        ClientStreams: true,
1609
                },
1610
        },
1611
        Metadata: "walletrpc/walletkit.proto",
1612
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc