lnrpc: re-compile protos w/ Go 1.19

This commit is contained in:
Olaoluwa Osuntokun committed 2022-08-24 11:43:00 -05:00
1 parent 65a5eeb24e
commit b3998ddb5c
24 files changed
+2773 -3481

No files matched your search

+262 -306
View File
@@ -19,195 +19,173 @@ const _ = grpc.SupportPackageIsVersion7
//
// 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.
type WalletKitClient interface {
//
//ListUnspent returns a list of all utxos spendable by the wallet with a
//number of confirmations between the specified minimum and maximum. By
//default, all utxos are listed. To list only the unconfirmed utxos, set
//the unconfirmed_only to true.
// ListUnspent returns a list of all utxos spendable by the wallet with a
// number of confirmations between the specified minimum and maximum. By
// default, all utxos are listed. To list only the unconfirmed utxos, set
// the unconfirmed_only to true.
ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error)
//
//LeaseOutput locks an output to the given ID, preventing it from being
//available for any future coin selection attempts. The absolute time of the
//lock's expiration is returned. The expiration of the lock can be extended by
//successive invocations of this RPC. Outputs can be unlocked before their
//expiration through `ReleaseOutput`.
// LeaseOutput locks an output to the given ID, preventing it from being
// available for any future coin selection attempts. The absolute time of the
// lock's expiration is returned. The expiration of the lock can be extended by
// successive invocations of this RPC. Outputs can be unlocked before their
// expiration through `ReleaseOutput`.
LeaseOutput(ctx context.Context, in *LeaseOutputRequest, opts ...grpc.CallOption) (*LeaseOutputResponse, error)
//
//ReleaseOutput unlocks an output, allowing it to be available for coin
//selection if it remains unspent. The ID should match the one used to
//originally lock the output.
// ReleaseOutput unlocks an output, allowing it to be available for coin
// selection if it remains unspent. The ID should match the one used to
// originally lock the output.
ReleaseOutput(ctx context.Context, in *ReleaseOutputRequest, opts ...grpc.CallOption) (*ReleaseOutputResponse, error)
//
//ListLeases lists all currently locked utxos.
// ListLeases lists all currently locked utxos.
ListLeases(ctx context.Context, in *ListLeasesRequest, opts ...grpc.CallOption) (*ListLeasesResponse, error)
//
//DeriveNextKey attempts to derive the *next* key within the key family
//(account in BIP43) specified. This method should return the next external
//child within this branch.
// DeriveNextKey attempts to derive the *next* key within the key family
// (account in BIP43) specified. This method should return the next external
// child within this branch.
DeriveNextKey(ctx context.Context, in *KeyReq, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
//
//DeriveKey attempts to derive an arbitrary key specified by the passed
//KeyLocator.
// DeriveKey attempts to derive an arbitrary key specified by the passed
// KeyLocator.
DeriveKey(ctx context.Context, in *signrpc.KeyLocator, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
//
//NextAddr returns the next unused address within the wallet.
// NextAddr returns the next unused address within the wallet.
NextAddr(ctx context.Context, in *AddrRequest, opts ...grpc.CallOption) (*AddrResponse, error)
//
//ListAccounts retrieves all accounts belonging to the wallet by default. A
//name and key scope filter can be provided to filter through all of the
//wallet accounts and return only those matching.
// ListAccounts retrieves all accounts belonging to the wallet by default. A
// name and key scope filter can be provided to filter through all of the
// wallet accounts and return only those matching.
ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error)
//
//RequiredReserve returns the minimum amount of satoshis that should be kept
//in the wallet in order to fee bump anchor channels if necessary. The value
//scales with the number of public anchor channels but is capped at a maximum.
// RequiredReserve returns the minimum amount of satoshis that should be kept
// in the wallet in order to fee bump anchor channels if necessary. The value
// scales with the number of public anchor channels but is capped at a maximum.
RequiredReserve(ctx context.Context, in *RequiredReserveRequest, opts ...grpc.CallOption) (*RequiredReserveResponse, error)
//
//ListAddresses retrieves all the addresses along with their balance. An
//account name filter can be provided to filter through all of the
//wallet accounts and return the addresses of only those matching.
// ListAddresses retrieves all the addresses along with their balance. An
// account name filter can be provided to filter through all of the
// wallet accounts and return the addresses of only those matching.
ListAddresses(ctx context.Context, in *ListAddressesRequest, opts ...grpc.CallOption) (*ListAddressesResponse, error)
// ImportAccount imports an account backed by an account extended public key.
// The master key fingerprint denotes the fingerprint of the root key
// corresponding to the account public key (also known as the key with
// derivation path m/). This may be required by some hardware wallets for
// proper identification and signing.
//
//ImportAccount imports an account backed by an account extended public key.
//The master key fingerprint denotes the fingerprint of the root key
//corresponding to the account public key (also known as the key with
//derivation path m/). This may be required by some hardware wallets for
//proper identification and signing.
// The address type can usually be inferred from the key's version, but may be
// required for certain keys to map them into the proper scope.
//
//The address type can usually be inferred from the key's version, but may be
//required for certain keys to map them into the proper scope.
// For BIP-0044 keys, an address type must be specified as we intend to not
// support importing BIP-0044 keys into the wallet using the legacy
// pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
// the standard BIP-0049 derivation scheme, while a witness address type will
// force the standard BIP-0084 derivation scheme.
//
//For BIP-0044 keys, an address type must be specified as we intend to not
//support importing BIP-0044 keys into the wallet using the legacy
//pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
//the standard BIP-0049 derivation scheme, while a witness address type will
//force the standard BIP-0084 derivation scheme.
// For BIP-0049 keys, an address type must also be specified to make a
// distinction between the standard BIP-0049 address schema (nested witness
// pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
// externally, witness pubkeys internally).
//
//For BIP-0049 keys, an address type must also be specified to make a
//distinction between the standard BIP-0049 address schema (nested witness
//pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
//externally, witness pubkeys internally).
//
//NOTE: Events (deposits/spends) for keys derived from an account will only be
//detected by lnd if they happen after the import. Rescans to detect past
//events will be supported later on.
// NOTE: Events (deposits/spends) for keys derived from an account will only be
// detected by lnd if they happen after the import. Rescans to detect past
// events will be supported later on.
ImportAccount(ctx context.Context, in *ImportAccountRequest, opts ...grpc.CallOption) (*ImportAccountResponse, error)
// ImportPublicKey imports a public key as watch-only into the wallet.
//
//ImportPublicKey imports a public key as watch-only into the wallet.
//
//NOTE: Events (deposits/spends) for a key will only be detected by lnd if
//they happen after the import. Rescans to detect past events will be
//supported later on.
// NOTE: Events (deposits/spends) for a key will only be detected by lnd if
// they happen after the import. Rescans to detect past events will be
// supported later on.
ImportPublicKey(ctx context.Context, in *ImportPublicKeyRequest, opts ...grpc.CallOption) (*ImportPublicKeyResponse, error)
//
//PublishTransaction attempts to publish the passed transaction to the
//network. Once this returns without an error, the wallet will continually
//attempt to re-broadcast the transaction on start up, until it enters the
//chain.
// PublishTransaction attempts to publish the passed transaction to the
// network. Once this returns without an error, the wallet will continually
// attempt to re-broadcast the transaction on start up, until it enters the
// chain.
PublishTransaction(ctx context.Context, in *Transaction, opts ...grpc.CallOption) (*PublishResponse, error)
//
//SendOutputs is similar to the existing sendmany call in Bitcoind, and
//allows the caller to create a transaction that sends to several outputs at
//once. This is ideal when wanting to batch create a set of transactions.
// SendOutputs is similar to the existing sendmany call in Bitcoind, and
// allows the caller to create a transaction that sends to several outputs at
// once. This is ideal when wanting to batch create a set of transactions.
SendOutputs(ctx context.Context, in *SendOutputsRequest, opts ...grpc.CallOption) (*SendOutputsResponse, error)
//
//EstimateFee attempts to query the internal fee estimator of the wallet to
//determine the fee (in sat/kw) to attach to a transaction in order to
//achieve the confirmation target.
// EstimateFee attempts to query the internal fee estimator of the wallet to
// determine the fee (in sat/kw) to attach to a transaction in order to
// achieve the confirmation target.
EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error)
// PendingSweeps returns lists of on-chain outputs that lnd is currently
// attempting to sweep within its central batching engine. Outputs with similar
// fee rates are batched together in order to sweep them within a single
// transaction.
//
//PendingSweeps returns lists of on-chain outputs that lnd is currently
//attempting to sweep within its central batching engine. Outputs with similar
//fee rates are batched together in order to sweep them within a single
//transaction.
//
//NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
//remain supported. This is an advanced API that depends on the internals of
//the UtxoSweeper, so things may change.
// NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
// remain supported. This is an advanced API that depends on the internals of
// the UtxoSweeper, so things may change.
PendingSweeps(ctx context.Context, in *PendingSweepsRequest, opts ...grpc.CallOption) (*PendingSweepsResponse, error)
// BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
// takes a different approach than bitcoind's bumpfee command. lnd has a
// central batching engine in which inputs with similar fee rates are batched
// together to save on transaction fees. Due to this, we cannot rely on
// bumping the fee on a specific transaction, since transactions can change at
// any point with the addition of new inputs. The list of inputs that
// currently exist within lnd's central batching engine can be retrieved
// through the PendingSweeps RPC.
//
//BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
//takes a different approach than bitcoind's bumpfee command. lnd has a
//central batching engine in which inputs with similar fee rates are batched
//together to save on transaction fees. Due to this, we cannot rely on
//bumping the fee on a specific transaction, since transactions can change at
//any point with the addition of new inputs. The list of inputs that
//currently exist within lnd's central batching engine can be retrieved
//through the PendingSweeps RPC.
// When bumping the fee of an input that currently exists within lnd's central
// batching engine, a higher fee transaction will be created that replaces the
// lower fee transaction through the Replace-By-Fee (RBF) policy. If it
//
//When bumping the fee of an input that currently exists within lnd's central
//batching engine, a higher fee transaction will be created that replaces the
//lower fee transaction through the Replace-By-Fee (RBF) policy. If it
// This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
// (CPFP), where the child transaction pays for its parent's fee. This can be
// done by specifying an outpoint within the low fee transaction that is under
// the control of the wallet.
//
//This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
//(CPFP), where the child transaction pays for its parent's fee. This can be
//done by specifying an outpoint within the low fee transaction that is under
//the control of the wallet.
// The fee preference can be expressed either as a specific fee rate or a delta
// of blocks in which the output should be swept on-chain within. If a fee
// preference is not explicitly specified, then an error is returned.
//
//The fee preference can be expressed either as a specific fee rate or a delta
//of blocks in which the output should be swept on-chain within. If a fee
//preference is not explicitly specified, then an error is returned.
//
//Note that this RPC currently doesn't perform any validation checks on the
//fee preference being provided. For now, the responsibility of ensuring that
//the new fee preference is sufficient is delegated to the user.
// Note that this RPC currently doesn't perform any validation checks on the
// fee preference being provided. For now, the responsibility of ensuring that
// the new fee preference is sufficient is delegated to the user.
BumpFee(ctx context.Context, in *BumpFeeRequest, opts ...grpc.CallOption) (*BumpFeeResponse, error)
//
//ListSweeps returns a list of the sweep transactions our node has produced.
//Note that these sweeps may not be confirmed yet, as we record sweeps on
//broadcast, not confirmation.
// ListSweeps returns a list of the sweep transactions our node has produced.
// Note that these sweeps may not be confirmed yet, as we record sweeps on
// broadcast, not confirmation.
ListSweeps(ctx context.Context, in *ListSweepsRequest, opts ...grpc.CallOption) (*ListSweepsResponse, error)
//
//LabelTransaction adds a label to a transaction. If the transaction already
//has a label the call will fail unless the overwrite bool is set. This will
//overwrite the exiting transaction label. Labels must not be empty, and
//cannot exceed 500 characters.
// LabelTransaction adds a label to a transaction. If the transaction already
// has a label the call will fail unless the overwrite bool is set. This will
// overwrite the exiting transaction label. Labels must not be empty, and
// cannot exceed 500 characters.
LabelTransaction(ctx context.Context, in *LabelTransactionRequest, opts ...grpc.CallOption) (*LabelTransactionResponse, error)
// FundPsbt creates a fully populated PSBT that contains enough inputs to fund
// the outputs specified in the template. There are two ways of specifying a
// template: Either by passing in a PSBT with at least one output declared or
// by passing in a raw TxTemplate message.
//
//FundPsbt creates a fully populated PSBT that contains enough inputs to fund
//the outputs specified in the template. There are two ways of specifying a
//template: Either by passing in a PSBT with at least one output declared or
//by passing in a raw TxTemplate message.
// If there are no inputs specified in the template, coin selection is
// performed automatically. If the template does contain any inputs, it is
// assumed that full coin selection happened externally and no additional
// inputs are added. If the specified inputs aren't enough to fund the outputs
// with the given fee rate, an error is returned.
//
//If there are no inputs specified in the template, coin selection is
//performed automatically. If the template does contain any inputs, it is
//assumed that full coin selection happened externally and no additional
//inputs are added. If the specified inputs aren't enough to fund the outputs
//with the given fee rate, an error is returned.
// After either selecting or verifying the inputs, all input UTXOs are locked
// with an internal app ID.
//
//After either selecting or verifying the inputs, all input UTXOs are locked
//with an internal app ID.
//
//NOTE: If this method returns without an error, it is the caller's
//responsibility to either spend the locked UTXOs (by finalizing and then
//publishing the transaction) or to unlock/release the locked UTXOs in case of
//an error on the caller's side.
// NOTE: If this method returns without an error, it is the caller's
// responsibility to either spend the locked UTXOs (by finalizing and then
// publishing the transaction) or to unlock/release the locked UTXOs in case of
// an error on the caller's side.
FundPsbt(ctx context.Context, in *FundPsbtRequest, opts ...grpc.CallOption) (*FundPsbtResponse, error)
// SignPsbt expects a partial transaction with all inputs and outputs fully
// declared and tries to sign all unsigned inputs that have all required fields
// (UTXO information, BIP32 derivation information, witness or sig scripts)
// set.
// If no error is returned, the PSBT is ready to be given to the next signer or
// to be finalized if lnd was the last signer.
//
//SignPsbt expects a partial transaction with all inputs and outputs fully
//declared and tries to sign all unsigned inputs that have all required fields
//(UTXO information, BIP32 derivation information, witness or sig scripts)
//set.
//If no error is returned, the PSBT is ready to be given to the next signer or
//to be finalized if lnd was the last signer.
//
//NOTE: This RPC only signs inputs (and only those it can sign), it does not
//perform any other tasks (such as coin selection, UTXO locking or
//input/output/fee value validation, PSBT finalization). Any input that is
//incomplete will be skipped.
// NOTE: This RPC only signs inputs (and only those it can sign), it does not
// perform any other tasks (such as coin selection, UTXO locking or
// input/output/fee value validation, PSBT finalization). Any input that is
// incomplete will be skipped.
SignPsbt(ctx context.Context, in *SignPsbtRequest, opts ...grpc.CallOption) (*SignPsbtResponse, error)
// FinalizePsbt expects a partial transaction with all inputs and outputs fully
// declared and tries to sign all inputs that belong to the wallet. Lnd must be
// the last signer of the transaction. That means, if there are any unsigned
// non-witness inputs or inputs without UTXO information attached or inputs
// without witness data that do not belong to lnd's wallet, this method will
// fail. If no error is returned, the PSBT is ready to be extracted and the
// final TX within to be broadcast.
//
//FinalizePsbt expects a partial transaction with all inputs and outputs fully
//declared and tries to sign all inputs that belong to the wallet. Lnd must be
//the last signer of the transaction. That means, if there are any unsigned
//non-witness inputs or inputs without UTXO information attached or inputs
//without witness data that do not belong to lnd's wallet, this method will
//fail. If no error is returned, the PSBT is ready to be extracted and the
//final TX within to be broadcast.
//
//NOTE: This method does NOT publish the transaction once finalized. It is the
//caller's responsibility to either publish the transaction on success or
//unlock/release any locked UTXOs in case of an error in this method.
// NOTE: This method does NOT publish the transaction once finalized. It is the
// caller's responsibility to either publish the transaction on success or
// unlock/release any locked UTXOs in case of an error in this method.
FinalizePsbt(ctx context.Context, in *FinalizePsbtRequest, opts ...grpc.CallOption) (*FinalizePsbtResponse, error)
}
@@ -421,195 +399,173 @@ func (c *walletKitClient) FinalizePsbt(ctx context.Context, in *FinalizePsbtRequ
// All implementations must embed UnimplementedWalletKitServer
// for forward compatibility
type WalletKitServer interface {
//
//ListUnspent returns a list of all utxos spendable by the wallet with a
//number of confirmations between the specified minimum and maximum. By
//default, all utxos are listed. To list only the unconfirmed utxos, set
//the unconfirmed_only to true.
// ListUnspent returns a list of all utxos spendable by the wallet with a
// number of confirmations between the specified minimum and maximum. By
// default, all utxos are listed. To list only the unconfirmed utxos, set
// the unconfirmed_only to true.
ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error)
//
//LeaseOutput locks an output to the given ID, preventing it from being
//available for any future coin selection attempts. The absolute time of the
//lock's expiration is returned. The expiration of the lock can be extended by
//successive invocations of this RPC. Outputs can be unlocked before their
//expiration through `ReleaseOutput`.
// LeaseOutput locks an output to the given ID, preventing it from being
// available for any future coin selection attempts. The absolute time of the
// lock's expiration is returned. The expiration of the lock can be extended by
// successive invocations of this RPC. Outputs can be unlocked before their
// expiration through `ReleaseOutput`.
LeaseOutput(context.Context, *LeaseOutputRequest) (*LeaseOutputResponse, error)
//
//ReleaseOutput unlocks an output, allowing it to be available for coin
//selection if it remains unspent. The ID should match the one used to
//originally lock the output.
// ReleaseOutput unlocks an output, allowing it to be available for coin
// selection if it remains unspent. The ID should match the one used to
// originally lock the output.
ReleaseOutput(context.Context, *ReleaseOutputRequest) (*ReleaseOutputResponse, error)
//
//ListLeases lists all currently locked utxos.
// ListLeases lists all currently locked utxos.
ListLeases(context.Context, *ListLeasesRequest) (*ListLeasesResponse, error)
//
//DeriveNextKey attempts to derive the *next* key within the key family
//(account in BIP43) specified. This method should return the next external
//child within this branch.
// DeriveNextKey attempts to derive the *next* key within the key family
// (account in BIP43) specified. This method should return the next external
// child within this branch.
DeriveNextKey(context.Context, *KeyReq) (*signrpc.KeyDescriptor, error)
//
//DeriveKey attempts to derive an arbitrary key specified by the passed
//KeyLocator.
// DeriveKey attempts to derive an arbitrary key specified by the passed
// KeyLocator.
DeriveKey(context.Context, *signrpc.KeyLocator) (*signrpc.KeyDescriptor, error)
//
//NextAddr returns the next unused address within the wallet.
// NextAddr returns the next unused address within the wallet.
NextAddr(context.Context, *AddrRequest) (*AddrResponse, error)
//
//ListAccounts retrieves all accounts belonging to the wallet by default. A
//name and key scope filter can be provided to filter through all of the
//wallet accounts and return only those matching.
// ListAccounts retrieves all accounts belonging to the wallet by default. A
// name and key scope filter can be provided to filter through all of the
// wallet accounts and return only those matching.
ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error)
//
//RequiredReserve returns the minimum amount of satoshis that should be kept
//in the wallet in order to fee bump anchor channels if necessary. The value
//scales with the number of public anchor channels but is capped at a maximum.
// RequiredReserve returns the minimum amount of satoshis that should be kept
// in the wallet in order to fee bump anchor channels if necessary. The value
// scales with the number of public anchor channels but is capped at a maximum.
RequiredReserve(context.Context, *RequiredReserveRequest) (*RequiredReserveResponse, error)
//
//ListAddresses retrieves all the addresses along with their balance. An
//account name filter can be provided to filter through all of the
//wallet accounts and return the addresses of only those matching.
// ListAddresses retrieves all the addresses along with their balance. An
// account name filter can be provided to filter through all of the
// wallet accounts and return the addresses of only those matching.
ListAddresses(context.Context, *ListAddressesRequest) (*ListAddressesResponse, error)
// ImportAccount imports an account backed by an account extended public key.
// The master key fingerprint denotes the fingerprint of the root key
// corresponding to the account public key (also known as the key with
// derivation path m/). This may be required by some hardware wallets for
// proper identification and signing.
//
//ImportAccount imports an account backed by an account extended public key.
//The master key fingerprint denotes the fingerprint of the root key
//corresponding to the account public key (also known as the key with
//derivation path m/). This may be required by some hardware wallets for
//proper identification and signing.
// The address type can usually be inferred from the key's version, but may be
// required for certain keys to map them into the proper scope.
//
//The address type can usually be inferred from the key's version, but may be
//required for certain keys to map them into the proper scope.
// For BIP-0044 keys, an address type must be specified as we intend to not
// support importing BIP-0044 keys into the wallet using the legacy
// pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
// the standard BIP-0049 derivation scheme, while a witness address type will
// force the standard BIP-0084 derivation scheme.
//
//For BIP-0044 keys, an address type must be specified as we intend to not
//support importing BIP-0044 keys into the wallet using the legacy
//pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
//the standard BIP-0049 derivation scheme, while a witness address type will
//force the standard BIP-0084 derivation scheme.
// For BIP-0049 keys, an address type must also be specified to make a
// distinction between the standard BIP-0049 address schema (nested witness
// pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
// externally, witness pubkeys internally).
//
//For BIP-0049 keys, an address type must also be specified to make a
//distinction between the standard BIP-0049 address schema (nested witness
//pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
//externally, witness pubkeys internally).
//
//NOTE: Events (deposits/spends) for keys derived from an account will only be
//detected by lnd if they happen after the import. Rescans to detect past
//events will be supported later on.
// NOTE: Events (deposits/spends) for keys derived from an account will only be
// detected by lnd if they happen after the import. Rescans to detect past
// events will be supported later on.
ImportAccount(context.Context, *ImportAccountRequest) (*ImportAccountResponse, error)
// ImportPublicKey imports a public key as watch-only into the wallet.
//
//ImportPublicKey imports a public key as watch-only into the wallet.
//
//NOTE: Events (deposits/spends) for a key will only be detected by lnd if
//they happen after the import. Rescans to detect past events will be
//supported later on.
// NOTE: Events (deposits/spends) for a key will only be detected by lnd if
// they happen after the import. Rescans to detect past events will be
// supported later on.
ImportPublicKey(context.Context, *ImportPublicKeyRequest) (*ImportPublicKeyResponse, error)
//
//PublishTransaction attempts to publish the passed transaction to the
//network. Once this returns without an error, the wallet will continually
//attempt to re-broadcast the transaction on start up, until it enters the
//chain.
// PublishTransaction attempts to publish the passed transaction to the
// network. Once this returns without an error, the wallet will continually
// attempt to re-broadcast the transaction on start up, until it enters the
// chain.
PublishTransaction(context.Context, *Transaction) (*PublishResponse, error)
//
//SendOutputs is similar to the existing sendmany call in Bitcoind, and
//allows the caller to create a transaction that sends to several outputs at
//once. This is ideal when wanting to batch create a set of transactions.
// SendOutputs is similar to the existing sendmany call in Bitcoind, and
// allows the caller to create a transaction that sends to several outputs at
// once. This is ideal when wanting to batch create a set of transactions.
SendOutputs(context.Context, *SendOutputsRequest) (*SendOutputsResponse, error)
//
//EstimateFee attempts to query the internal fee estimator of the wallet to
//determine the fee (in sat/kw) to attach to a transaction in order to
//achieve the confirmation target.
// EstimateFee attempts to query the internal fee estimator of the wallet to
// determine the fee (in sat/kw) to attach to a transaction in order to
// achieve the confirmation target.
EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error)
// PendingSweeps returns lists of on-chain outputs that lnd is currently
// attempting to sweep within its central batching engine. Outputs with similar
// fee rates are batched together in order to sweep them within a single
// transaction.
//
//PendingSweeps returns lists of on-chain outputs that lnd is currently
//attempting to sweep within its central batching engine. Outputs with similar
//fee rates are batched together in order to sweep them within a single
//transaction.
//
//NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
//remain supported. This is an advanced API that depends on the internals of
//the UtxoSweeper, so things may change.
// NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
// remain supported. This is an advanced API that depends on the internals of
// the UtxoSweeper, so things may change.
PendingSweeps(context.Context, *PendingSweepsRequest) (*PendingSweepsResponse, error)
// BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
// takes a different approach than bitcoind's bumpfee command. lnd has a
// central batching engine in which inputs with similar fee rates are batched
// together to save on transaction fees. Due to this, we cannot rely on
// bumping the fee on a specific transaction, since transactions can change at
// any point with the addition of new inputs. The list of inputs that
// currently exist within lnd's central batching engine can be retrieved
// through the PendingSweeps RPC.
//
//BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
//takes a different approach than bitcoind's bumpfee command. lnd has a
//central batching engine in which inputs with similar fee rates are batched
//together to save on transaction fees. Due to this, we cannot rely on
//bumping the fee on a specific transaction, since transactions can change at
//any point with the addition of new inputs. The list of inputs that
//currently exist within lnd's central batching engine can be retrieved
//through the PendingSweeps RPC.
// When bumping the fee of an input that currently exists within lnd's central
// batching engine, a higher fee transaction will be created that replaces the
// lower fee transaction through the Replace-By-Fee (RBF) policy. If it
//
//When bumping the fee of an input that currently exists within lnd's central
//batching engine, a higher fee transaction will be created that replaces the
//lower fee transaction through the Replace-By-Fee (RBF) policy. If it
// This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
// (CPFP), where the child transaction pays for its parent's fee. This can be
// done by specifying an outpoint within the low fee transaction that is under
// the control of the wallet.
//
//This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
//(CPFP), where the child transaction pays for its parent's fee. This can be
//done by specifying an outpoint within the low fee transaction that is under
//the control of the wallet.
// The fee preference can be expressed either as a specific fee rate or a delta
// of blocks in which the output should be swept on-chain within. If a fee
// preference is not explicitly specified, then an error is returned.
//
//The fee preference can be expressed either as a specific fee rate or a delta
//of blocks in which the output should be swept on-chain within. If a fee
//preference is not explicitly specified, then an error is returned.
//
//Note that this RPC currently doesn't perform any validation checks on the
//fee preference being provided. For now, the responsibility of ensuring that
//the new fee preference is sufficient is delegated to the user.
// Note that this RPC currently doesn't perform any validation checks on the
// fee preference being provided. For now, the responsibility of ensuring that
// the new fee preference is sufficient is delegated to the user.
BumpFee(context.Context, *BumpFeeRequest) (*BumpFeeResponse, error)
//
//ListSweeps returns a list of the sweep transactions our node has produced.
//Note that these sweeps may not be confirmed yet, as we record sweeps on
//broadcast, not confirmation.
// ListSweeps returns a list of the sweep transactions our node has produced.
// Note that these sweeps may not be confirmed yet, as we record sweeps on
// broadcast, not confirmation.
ListSweeps(context.Context, *ListSweepsRequest) (*ListSweepsResponse, error)
//
//LabelTransaction adds a label to a transaction. If the transaction already
//has a label the call will fail unless the overwrite bool is set. This will
//overwrite the exiting transaction label. Labels must not be empty, and
//cannot exceed 500 characters.
// LabelTransaction adds a label to a transaction. If the transaction already
// has a label the call will fail unless the overwrite bool is set. This will
// overwrite the exiting transaction label. Labels must not be empty, and
// cannot exceed 500 characters.
LabelTransaction(context.Context, *LabelTransactionRequest) (*LabelTransactionResponse, error)
// FundPsbt creates a fully populated PSBT that contains enough inputs to fund
// the outputs specified in the template. There are two ways of specifying a
// template: Either by passing in a PSBT with at least one output declared or
// by passing in a raw TxTemplate message.
//
//FundPsbt creates a fully populated PSBT that contains enough inputs to fund
//the outputs specified in the template. There are two ways of specifying a
//template: Either by passing in a PSBT with at least one output declared or
//by passing in a raw TxTemplate message.
// If there are no inputs specified in the template, coin selection is
// performed automatically. If the template does contain any inputs, it is
// assumed that full coin selection happened externally and no additional
// inputs are added. If the specified inputs aren't enough to fund the outputs
// with the given fee rate, an error is returned.
//
//If there are no inputs specified in the template, coin selection is
//performed automatically. If the template does contain any inputs, it is
//assumed that full coin selection happened externally and no additional
//inputs are added. If the specified inputs aren't enough to fund the outputs
//with the given fee rate, an error is returned.
// After either selecting or verifying the inputs, all input UTXOs are locked
// with an internal app ID.
//
//After either selecting or verifying the inputs, all input UTXOs are locked
//with an internal app ID.
//
//NOTE: If this method returns without an error, it is the caller's
//responsibility to either spend the locked UTXOs (by finalizing and then
//publishing the transaction) or to unlock/release the locked UTXOs in case of
//an error on the caller's side.
// NOTE: If this method returns without an error, it is the caller's
// responsibility to either spend the locked UTXOs (by finalizing and then
// publishing the transaction) or to unlock/release the locked UTXOs in case of
// an error on the caller's side.
FundPsbt(context.Context, *FundPsbtRequest) (*FundPsbtResponse, error)
// SignPsbt expects a partial transaction with all inputs and outputs fully
// declared and tries to sign all unsigned inputs that have all required fields
// (UTXO information, BIP32 derivation information, witness or sig scripts)
// set.
// If no error is returned, the PSBT is ready to be given to the next signer or
// to be finalized if lnd was the last signer.
//
//SignPsbt expects a partial transaction with all inputs and outputs fully
//declared and tries to sign all unsigned inputs that have all required fields
//(UTXO information, BIP32 derivation information, witness or sig scripts)
//set.
//If no error is returned, the PSBT is ready to be given to the next signer or
//to be finalized if lnd was the last signer.
//
//NOTE: This RPC only signs inputs (and only those it can sign), it does not
//perform any other tasks (such as coin selection, UTXO locking or
//input/output/fee value validation, PSBT finalization). Any input that is
//incomplete will be skipped.
// NOTE: This RPC only signs inputs (and only those it can sign), it does not
// perform any other tasks (such as coin selection, UTXO locking or
// input/output/fee value validation, PSBT finalization). Any input that is
// incomplete will be skipped.
SignPsbt(context.Context, *SignPsbtRequest) (*SignPsbtResponse, error)
// FinalizePsbt expects a partial transaction with all inputs and outputs fully
// declared and tries to sign all inputs that belong to the wallet. Lnd must be
// the last signer of the transaction. That means, if there are any unsigned
// non-witness inputs or inputs without UTXO information attached or inputs
// without witness data that do not belong to lnd's wallet, this method will
// fail. If no error is returned, the PSBT is ready to be extracted and the
// final TX within to be broadcast.
//
//FinalizePsbt expects a partial transaction with all inputs and outputs fully
//declared and tries to sign all inputs that belong to the wallet. Lnd must be
//the last signer of the transaction. That means, if there are any unsigned
//non-witness inputs or inputs without UTXO information attached or inputs
//without witness data that do not belong to lnd's wallet, this method will
//fail. If no error is returned, the PSBT is ready to be extracted and the
//final TX within to be broadcast.
//
//NOTE: This method does NOT publish the transaction once finalized. It is the
//caller's responsibility to either publish the transaction on success or
//unlock/release any locked UTXOs in case of an error in this method.
// NOTE: This method does NOT publish the transaction once finalized. It is the
// caller's responsibility to either publish the transaction on success or
// unlock/release any locked UTXOs in case of an error in this method.
FinalizePsbt(context.Context, *FinalizePsbtRequest) (*FinalizePsbtResponse, error)
mustEmbedUnimplementedWalletKitServer()
}