Proto commits in lightningnetwork/lnd

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:40c64f9
Author:Yong
Committer:GitHub

Merge pull request #10900 from ellemouton/walletkit-submitpackage lnwallet+walletrpc: add WalletKit.SubmitPackage for v3 CPFP package relay

The documentation is generated from this commit.

Commit:f55c056
Author:Elle Mouton
Committer:Elle Mouton

lnwallet+walletrpc: add SubmitPackage for v3 CPFP package relay Add SubmitPackage to the lnwallet.WalletController interface and a new WalletKit.SubmitPackage RPC, so a client of lnd can relay a package of related transactions (parents first, child last) through lnd's own chain connection. This lets a zero-fee v3/TRUC parent be accepted via its fee-paying CPFP child without the caller needing a separate connection to the chain backend. BtcWallet.SubmitPackage forwards to the chain backend's submitpackage for bitcoind/btcd, and broadcasts each transaction individually for neutrino (no mempool; relies on the peer's 1p1c package relay). The WalletKit handler maps the proto request/response to the btcjson result and is gated by the onchain:write macaroon permission. Mock controllers and the no-chain backend gain trivial implementations.

Commit:c4a67b6
Author:ziggieXXX
Committer:GitHub

Merge pull request #10832 from bitromortac/2604-bolt12-1b bolt12: add `InvoiceRequest` codec and structural validators

Commit:bc8463a
Author:ziggie
Committer:ziggie

routerrpc: add clarifying docs for the intercepted forward routerrpc: document on-chain interceptor responses (cherry picked from commit 8909c2fbf5535b81ee18c4f4e7fe0160ca43e725)

Commit:be2d915
Author:ziggie
Committer:github-actions[bot]

routerrpc: add clarifying docs for the intercepted forward routerrpc: document on-chain interceptor responses (cherry picked from commit 8909c2fbf5535b81ee18c4f4e7fe0160ca43e725)

Commit:8909c2f
Author:ziggie
Committer:ziggie

routerrpc: add clarifying docs for the intercepted forward routerrpc: document on-chain interceptor responses

Commit:c5733c4
Author:bitromortac
Committer:bitromortac

lnrpc: document reply_path verbatim passthrough on OnionMessageUpdate Document that the introduction_node field in an OnionMessageUpdate's reply_path is passed through verbatim from the wire, potentially carrying either a 33-byte pubkey or a 9-byte sciddir form. Subscribers wishing to reply must resolve sciddir forms against their local channel graph. The SubscribeOnionMessages bridge is refactored to use a new marshallBlindedPath helper, ensuring a nil reply path remains nil in the RPC response rather than being emitted as an empty struct.

Commit:748a65e
Author:Calvin Zachman
Committer:ziggie

routerrpc: allow BuildRoute RPC to use arbitrary source The routerrpc.Server and ChannelRouter assume that the source public key for a route is always the node’s public key when calling BuildRoute. We update to allow overriding of this field to any arbitrary public key. The list of hop public keys must be connected to the source via channels in our graph view.

Commit:db12dbc
Author:Calvin Zachman
Committer:ziggie

lnrpc: allow arbitrary route source The RouterBackend assumes that the source public key for a route is always the node’s public key when calling UnmarshallRoute. Here we update to allow overriding of this field to any arbitrary public key.

Commit:f18a786
Author:Calvin Zachman
Committer:ziggie

switchrpc: add DisableRemoteRouter rpc In this commit, we add a DisableRemoteRouter RPC to the switchrpc sub-server that allows an operator to transition from external (switchrpc) back to local payment lifecycle management. The handler delegates to the Switch's DisableRemoteRouter method and distinguishes between precondition failures (attempt entries still exist) and internal errors, returning codes.FailedPrecondition or codes.Internal respectively. This gives callers a clear signal to drain pending attempts before retrying.

Commit:5b2ec8b
Author:Calvin Zachman
Committer:ziggie

switchrpc: add DeleteAttempts RPC Expose the store-layer DeleteAttempts as a gRPC endpoint on the Switch sub-server, allowing remote callers to garbage-collect terminal attempt records by explicitly naming the finished IDs. A unit test with a stateful mock demonstrates that hard delete removes the idempotency protection, allowing re-dispatch with the same ID.

Commit:f2d49df
Author:Calvin Zachman
Committer:ziggie

switchrpc: update SendOnion error handling Update both proto and handler to communicate error information via gRPC status details.

Commit:58db99d
Author:Calvin Zachman
Committer:ziggie

switchrpc: update TrackOnion rpc error handling The new structure uses a top-level `oneof` to provide a compile-time distinction between a successful payment (preimage) and a failed one. Additional information on a failed attempt can be found in FailureDetails. We now also use a structured ForwardingFailure type for communicating the failure index and wire message from failures which occur during htlc forwarding downstream in the route.

Commit:e72813b
Author:Calvin Zachman
Committer:ziggie

switchrpc: update sendonion rpc docs Clarify useage of API for rpc clients.

Commit:fb17257
Author:Calvin Zachman
Committer:ziggie

switchrpc: proto message updates Update the Switch RPC protos to make use of the 'optional' directive. Though this may not impact the generated types or how the user interacts with these types, it may serve to document the fact that they are optional a bit better.

Commit:9ee629e
Author:Calvin Zachman
Committer:ziggie

switchrpc: add new BuildOnion rpc proto

Commit:c413181
Author:Calvin Zachman
Committer:ziggie

switchrpc: add new TrackOnion rpc proto

Commit:f7a6c42
Author:Calvin Zachman
Committer:ziggie

switchrpc: add new SendOnion rpc proto Support all fields from UpdateAddHtlc. This allows users of the SendOnion RPC to include all fields that we support using with the UpdateAddHtlc type.

Commit:26b08fa
Author:Calvin Zachman
Committer:ziggie

switchrpc: add new grpc subserver The SwitchRPC server will be hidden behind a non default build tag.

Commit:dfeb678
Author:Boris Nagaev
Committer:Boris Nagaev

routerrpc: document default timeout for EstimateRouteFee probes The RouteFeeRequest.timeout field did not document its behavior when unset or explicitly set to zero. This is easy to misread as "no timeout", i.e. an unbounded, uncancellable probe, especially given the adjacent note that canceling the context does not stop the payment loop. In practice the probe path runs through SendPaymentV2, which replaces a zero timeout_seconds with DefaultPaymentTimeout (60 seconds) before dispatching the probe. A zero or unset timeout therefore falls back to the same 60 second default that SendPaymentRequest.timeout_seconds already documents. Mirror that wording on RouteFeeRequest.timeout so the zero-value behavior is explicit, and update the generated gRPC stub and swagger description to match. Documentation only; no behavior change.

Commit:ebfe7fe
Author:Olaoluwa Osuntokun
Committer:yyforyongyu

multi: rename "taproot" channel type to mean production variant In this commit, we shuffle the CLI and RPC names so the bare "taproot" identifier refers to the production taproot channel type (final scripts, feature bits 80/81), i.e. the variant new integrations should actually be using. Before this commit, "taproot" on the CLI mapped to the staging bits, and anyone who wanted a real production taproot channel had to spell out "taproot-final" on `lncli openchannel` or `SIMPLE_TAPROOT_FINAL` over RPC. The recommended choice was hidden behind the longer name. On the CLI (`lncli openchannel --channel_type=...`): - "taproot" now selects the production variant (it used to mean staging). - "taproot-staging" is added for the legacy development bits, for peers that haven't moved over yet. - "taproot-final" stays as a deprecated alias for "taproot" so existing scripts don't break. On the RPC (`CommitmentType`): - `TAPROOT = 7` is added as the canonical name for the production type. `SIMPLE_TAPROOT_FINAL = 7` is kept as a deprecated alias via `option allow_alias = true`, so existing clients keep compiling against the same Go constant and the wire value doesn't change. - `SIMPLE_TAPROOT = 5` (staging) is unchanged. - `SIMPLE_TAPROOT_OVERLAY = 6` is unchanged. The taproot-assets daemon hard-codes this distinct enum value, so it's unaffected. Wire compat is preserved end-to-end: only the comments, enum entry order, and the CLI string-to-enum mapping change. The numeric values and the existing generated Go identifiers stay stable. (cherry picked from commit 0aa1d8bdd6a5cbb10561d3a05d178a612663ba54)

Commit:0aa1d8b
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

multi: rename "taproot" channel type to mean production variant In this commit, we shuffle the CLI and RPC names so the bare "taproot" identifier refers to the production taproot channel type (final scripts, feature bits 80/81), i.e. the variant new integrations should actually be using. Before this commit, "taproot" on the CLI mapped to the staging bits, and anyone who wanted a real production taproot channel had to spell out "taproot-final" on `lncli openchannel` or `SIMPLE_TAPROOT_FINAL` over RPC. The recommended choice was hidden behind the longer name. On the CLI (`lncli openchannel --channel_type=...`): - "taproot" now selects the production variant (it used to mean staging). - "taproot-staging" is added for the legacy development bits, for peers that haven't moved over yet. - "taproot-final" stays as a deprecated alias for "taproot" so existing scripts don't break. On the RPC (`CommitmentType`): - `TAPROOT = 7` is added as the canonical name for the production type. `SIMPLE_TAPROOT_FINAL = 7` is kept as a deprecated alias via `option allow_alias = true`, so existing clients keep compiling against the same Go constant and the wire value doesn't change. - `SIMPLE_TAPROOT = 5` (staging) is unchanged. - `SIMPLE_TAPROOT_OVERLAY = 6` is unchanged. The taproot-assets daemon hard-codes this distinct enum value, so it's unaffected. Wire compat is preserved end-to-end: only the comments, enum entry order, and the CLI string-to-enum mapping change. The numeric values and the existing generated Go identifiers stay stable.

Commit:2e728d3
Author:Erick Cestari
Committer:github-actions[bot]

proto: remove deprecated SendPayment, SendToRoute, TrackPayment RPCs Remove the following deprecated RPC definitions that were announced for removal in 0.21 via the 0.20 release notes: lnrpc: - SendPayment (bidirectional streaming) - SendPaymentSync - SendToRoute (bidirectional streaming) - SendToRouteSync routerrpc: - SendPayment (streaming) - SendToRoute - TrackPayment (streaming) Also remove the now-unused PaymentState enum and PaymentStatus message that were only used by the deprecated TrackPayment response stream, plus the corresponding REST annotations from the yaml files. Drop the now-orphan routerrpc.SendToRouteResponse message that was only referenced by the deleted routerrpc.SendToRoute RPC. Also remove the deprecated outgoing_chan_id field from lnrpc.QueryRoutesRequest (tag 14) and routerrpc.SendPaymentRequest (tag 8); their tag numbers are now reserved. Callers must use the multi-channel outgoing_chan_ids field introduced in 0.20. Drop the compat fallback in router_backend.go that previously consumed the field, and regenerate all protobuf, gRPC, REST gateway, JSON, and swagger files. (cherry picked from commit d0768f0f78b8936c07595f1b97853a40bad7e7f5)

Commit:361cdba
Author:ziggieXXX
Committer:GitHub

Merge pull request #10814 from erickcestari/deprecated-rpc-removal Remove deprecated Send* / TrackPayment RPCs and outgoing_chan_id field

Commit:d0768f0
Author:Erick Cestari
Committer:Erick Cestari

proto: remove deprecated SendPayment, SendToRoute, TrackPayment RPCs Remove the following deprecated RPC definitions that were announced for removal in 0.21 via the 0.20 release notes: lnrpc: - SendPayment (bidirectional streaming) - SendPaymentSync - SendToRoute (bidirectional streaming) - SendToRouteSync routerrpc: - SendPayment (streaming) - SendToRoute - TrackPayment (streaming) Also remove the now-unused PaymentState enum and PaymentStatus message that were only used by the deprecated TrackPayment response stream, plus the corresponding REST annotations from the yaml files. Drop the now-orphan routerrpc.SendToRouteResponse message that was only referenced by the deleted routerrpc.SendToRoute RPC. Also remove the deprecated outgoing_chan_id field from lnrpc.QueryRoutesRequest (tag 14) and routerrpc.SendPaymentRequest (tag 8); their tag numbers are now reserved. Callers must use the multi-channel outgoing_chan_ids field introduced in 0.20. Drop the compat fallback in router_backend.go that previously consumed the field, and regenerate all protobuf, gRPC, REST gateway, JSON, and swagger files.

Commit:d625948
Author:Jaewook Lee
Committer:Jaewook Lee

routerrpc: add outgoing_chan_ids to EstimateRouteFee

Commit:e3f0af6
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnwallet+walletrpc: add witness_size_hint RPC field for tapscript fees The previous taproot script path fee estimation passed `len(leafScript.Script)` as `leafWitnessSize` to `AddTapscriptInput`, which both double-counts the script and uses the wrong unit: `leafWitnessSize` is meant only for the witness stack elements that satisfy the revealed leaf (e.g. signatures), not the script itself. When no hint is supplied we now fall back to `input.TaprootSignatureWitnessSize` (a single Schnorr signature), matching every existing in-tree call site of `AddTapscriptInput`. For non-trivial leaves (e.g. multi-signature tapscripts) callers can supply an exact size via the new per-outpoint `witness_size_hint` field on `FundPsbtRequest`, threaded through `EstimateInputWeight`. The unit tests in `lnwallet/btcwallet` cover both the default and explicit-hint paths, and the integration test `testFundPsbtTaprootScriptPath` is extended to assert that a hint changes the realized fee by exactly the extra witness weight it requests.

Commit:10f455a
Author:Olaoluwa Osuntokun

lnrpc+rpcserver: expose per-peer onion message stats in ListPeers Add an OnionMessageStats submessage with six uint64 fields that mirror the peer.OnionMessageStats snapshot struct 1:1 — bytes recv/sent for admitted traffic plus per-reason drop counters (peer, freebie, global, no-channel) — and hang it off the Peer message as onion_message_stats at tag 16. Regenerate the protobuf, gRPC gateway, and swagger stubs. Populate the new field in ListPeers by calling Brontide.OnionStats() for each connected peer and translating the six atomic-loaded counters into the proto message. The resulting rpc field lets operators see, per peer, how much onion traffic is actually flowing and which rate limiter (if any) is dropping messages — without which the freebie slot, strict gate, and relay-all policies are all opaque black boxes from lncli.

Commit:d86b840
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc/walletrpc: add witness types for taproot chans final

Commit:4ee8bd5
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc+rpcserver: add production taproot commitment type to RPC interface This commit extends the Lightning RPC interface to support production taproot channels by adding a new SIMPLE_TAPROOT_FINAL commitment type. This allows external clients to explicitly request channels that use the finalized taproot specification with optimized script structures and feature bits 80/81. The RPC server has been updated to properly handle the new commitment type during channel opening operations, mapping the SIMPLE_TAPROOT_FINAL type to the appropriate internal channel type flags including both SimpleTaprootFeatureBit and TaprootFinalBit. This ensures that channels opened through the RPC interface are properly configured with production taproot capabilities. The existing SIMPLE_TAPROOT commitment type has been clarified in its documentation to indicate that it represents the staging version using development scripts, providing clear distinction between the two taproot variants available to RPC clients. The protobuf definitions and generated code have been updated accordingly to support this new functionality.

Commit:9fa96bd
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc/walletrpc: add witness types for taproot chans final

Commit:f7f5f7f
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc+rpcserver: add production taproot commitment type to RPC interface This commit extends the Lightning RPC interface to support production taproot channels by adding a new SIMPLE_TAPROOT_FINAL commitment type. This allows external clients to explicitly request channels that use the finalized taproot specification with optimized script structures and feature bits 80/81. The RPC server has been updated to properly handle the new commitment type during channel opening operations, mapping the SIMPLE_TAPROOT_FINAL type to the appropriate internal channel type flags including both SimpleTaprootFeatureBit and TaprootFinalBit. This ensures that channels opened through the RPC interface are properly configured with production taproot capabilities. The existing SIMPLE_TAPROOT commitment type has been clarified in its documentation to indicate that it represents the staging version using development scripts, providing clear distinction between the two taproot variants available to RPC clients. The protobuf definitions and generated code have been updated accordingly to support this new functionality.

Commit:9f78779
Author:ziggie
Committer:ziggie

routerrpc: add DeleteForwardingHistory to Router proto In this commit, we define the DeleteForwardingHistory RPC in the Router sub-server protocol and regenerate all derived Go stubs, JSON bindings, and Swagger documentation. The RPC uses a oneof for time specification, allowing callers to provide either an absolute Unix timestamp (delete_before_time) or a relative duration string (delete_before_duration, e.g. "-30d", "-1M"). The response includes the count of deleted events and total fees earned in millisatoshis, allowing operators to maintain financial records while purging detailed routing surveillance data.

Commit:c14a054
Author:ziggieXXX
Committer:GitHub

Merge pull request #10659 from guggero/lncli-wallet-psbt-sign lncli: add missing `wallet psbt sign` sub command

Commit:3b598be
Author:ziggieXXX
Committer:GitHub

Merge pull request #10658 from saubyk/fix_rpc_documentation Fix rpc documentation for Router Service

Commit:e4133bc
Author:ziggieXXX
Committer:GitHub

Merge pull request #10065 from ellemouton/asyncGraphCacheLoad graph/db: async graph cache population

Commit:0e9748e
Author:saubyk
Committer:saubyk

routerrpc: add missing lncli tags for RPC documentation Add lncli: tags to SendPaymentV2, SendToRouteV2, and EstimateRouteFee proto definitions so the generated API docs correctly show their corresponding CLI commands (sendpayment, sendtoroute, estimateroutefee) instead of "There is no CLI command for this RPC".

Commit:aee7eb6
Author:Oli
Committer:Oli

lnrpc: add lncli command hint for API docs generator

Commit:844d046
Author:Elle Mouton
Committer:Elle Mouton

lnrpc: expose graph cache state in GetInfo Add a GraphCacheStatus enum to GetInfoResponse so callers can tell whether the graph cache is disabled, still loading, or fully loaded. This makes the async graph cache startup state visible to operators and clients without changing the existing DB fallback behaviour for reads.

Commit:8b4ecf6
Author:ziggie
Committer:ziggie

lnrpc+rpcserver: add new info to WaitingCloseChannel Add a new fields blocks_til_closed and close_height to the WaitingCloseChannel message in PendingChannels RPC response. This shows users how many more blocks until the waiting close channel will be fully closed and removed. The required confirmations are determined by CloseConfsForCapacity which scales based on channel capacity for reorg safety. If the close tx is not yet confirmed, the full required confirmations are shown.

Commit:3a15d7e
Author:ziggie
Committer:ziggie

multi: add omit_hops option to ListPayments RPC Add a new omit_hops field to ListPaymentsRequest that allows clients to skip loading hop-level route data for HTLC attempts, reducing both query cost and response size. When set, the route is returned with only route-level fields (TotalTimeLock, TotalAmount, SourcePubKey) and no individual hop data or hop-level custom records.

Commit:f0e2287
Author:saubyk

lnrpc: add include_log field to GetDebugInfoRequest Add an `include_log` bool field to GetDebugInfoRequest proto message. When set to true, the server will include the log file content in the response in addition to the configuration map.

Commit:ba27627
Author:Gijs van Dam
Committer:Gijs van Dam

multi: actor-based onion message forwarding Add onion message forwarding capability using the OnionPeerActor for communication. Messages are routed through a receptionist pattern where each peer has a dedicated OnionPeerActor for handling message sends. The OnionEndpoint uses the sphinx router for decoding and decrypting the onion message packet and the encrypted recipient data in the payload of the onion messages.

Commit:4f22a51
Author:bitromortac
Committer:bitromortac

proto: add ChannelCommitUpdate to channel event updates

Commit:3c22c3e
Author:Slyghtning
Committer:Slyghtning

lnrpc: add wallet_synced field to GetInfoResponse In this commit, we add a new `wallet_synced` boolean field to the GetInfoResponse message. This field exposes the wallet's internal sync state with the backing chain source, providing visibility into whether the wallet has caught up to the current chain tip. This is distinct from the existing `synced_to_chain` field, which represents a composite sync state that also considers the router and blockbeat dispatcher. The new field allows callers to distinguish between wallet sync delays and other subsystem sync states.

Commit:05eed5c
Author:Dario Anongba Varela
Committer:Dario Anongba Varela

routerrpc: FailureDetail enums for invoice/AMP validation failures

Commit:049f2c7
Author:Slyghtning
Committer:Slyghtning

lnrpc: transaction inputs in EstimateFeeRequest

Commit:c945f67
Author:Elle Mouton
Committer:Elle Mouton

input+signrpc+lnwallet+multi: implement combined nonce support Add CombinedNonce() and RegisterCombinedNonce() methods with full implementation stack. Interface and core implementation: - input/musig2.go: Added methods to MuSig2Session and MuSig2Signer interfaces - input/musig2_session_manager.go: MusigSessionManager implementation using HaveAllNonces flag for state tracking (simplified, no extra fields) - internal/musig2v040: Stub implementations returning ErrUnsupportedMethod - Mock implementations (MockInputSigner, MockSigner, DummySigner) RPC layer: - lnrpc/signrpc/signer.proto: RPC method definitions and messages - lnrpc/signrpc/signer.yaml: REST API endpoint mappings - Generated protobuf code (all .pb.go files) - lnwallet/rpcwallet/rpcwallet.go: RPCKeyRing client implementation The proto types and RPCKeyRing are added together since RPCKeyRing implements the Signer interface and requires proto types to fulfill the contract. For v0.4.0, these methods return ErrUnsupportedMethod. Use MuSig2Version100RC2 to access these features.

Commit:2ee0702
Author:Gijs van Dam
Committer:yyforyongyu

lnrpc: SendOnionMessage rpc endpoint

Commit:58e13a4
Author:Gijs van Dam
Committer:yyforyongyu

lnrpc: SendOnionMessage rpc endpoint

Commit:f27ced2
Author:Olaoluwa Osuntokun

lnrpc/walletrpc: add witness types for taproot chans final

Commit:67f4583
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc+rpcserver: add production taproot commitment type to RPC interface This commit extends the Lightning RPC interface to support production taproot channels by adding a new SIMPLE_TAPROOT_FINAL commitment type. This allows external clients to explicitly request channels that use the finalized taproot specification with optimized script structures and feature bits 80/81. The RPC server has been updated to properly handle the new commitment type during channel opening operations, mapping the SIMPLE_TAPROOT_FINAL type to the appropriate internal channel type flags including both SimpleTaprootFeatureBit and TaprootFinalBit. This ensures that channels opened through the RPC interface are properly configured with production taproot capabilities. The existing SIMPLE_TAPROOT commitment type has been clarified in its documentation to indicate that it represents the staging version using development scripts, providing clear distinction between the two taproot variants available to RPC clients. The protobuf definitions and generated code have been updated accordingly to support this new functionality.

Commit:9724de8
Author:Gijs van Dam
Committer:Gijs van Dam

lnrpc: SendOnionMessage rpc endpoint

Commit:f14190c
Author:George Tsagkarelis
Committer:George Tsagkarelis

lnrpc: add XFindBaseLocalChanAlias rpc Add the new RPC method that looks up the base scid for a given alias. Given the previous stepping stones this commit is fairly simple, we just call into the alias manager and return the lookup result.

Commit:e50ecac
Author:yyforyongyu
Committer:yyforyongyu

lnrpc: update docs for `FlapCount` and `LastFlapNs`

Commit:5fd42ac
Author:Nishant Bansal

lnrpc+rpcserver: add ConfirmationsUntilActive and ConfirmationHeight Introduce ConfirmationsUntilActive and ConfirmationHeight in PendingChannelsResponse_PendingChannel. ConfirmationsUntilActive indicates the remaining confirmations needed for the channel to become active. If the funding transaction is unconfirmed, ConfirmationsUntilActive defaults to the total required confirmations (NumConfsRequired). ConfirmationHeight records the block height at which the funding transaction was first confirmed; if unconfirmed, it will be 0. Signed-off-by: Nishant Bansal <nishant.bansal.282003@gmail.com>

Commit:0146e37
Author:MPins
Committer:MPins

lnrpc: add the deletecanceledinvoice rpc call

Commit:6b1c852
Author:Oliver Gugger
Committer:Oliver Gugger

lnrpc+rpcserver: add QoL flag for permission check To make it even more obvious that by default the permissions to check aren't taken from the full method provided, we add a new flag that does that on request.

Commit:6634050
Author:Oliver Gugger
Committer:Oliver Gugger

lnrpc+rpcserver: improve docs for CheckMacaroonPermissions Fixes #10026.

Commit:7faf20b
Author:Abdullahi Yunus
Committer:Abdullahi Yunus

lnrpc: deprecate OutgoingChanId In this commit we deprecate the OutgoingChanId field in the QueryRoutes in favor of OutgoingChanIds.

Commit:51882e1
Author:Abdullahi Yunus
Committer:Abdullahi Yunus

lnrpc: add outchan ids to proto

Commit:3eced8a
Author:Oliver Gugger
Committer:Oliver Gugger

lnrpc+rpcserver: add missing channel update event type Fixes the error "unexpected channel event update" in SubscribeChannelEvents.

Commit:f5b27bf
Author:Oliver Gugger

lnrpc+rpcserver: add missing channel update event type Fixes the error "unexpected channel event update" in SubscribeChannelEvents.

Commit:43ea309
Author:yyforyongyu
Committer:yyforyongyu

lnrpc: update description for `RoutingPolicy.CustomRecords`

Commit:5dcafec
Author:Boris Nagaev

lnrpc: remove unused type ConfirmationUpdate The type is not used since 237f2b6d4b5a04fece87ce8bb06290897b9c8d00

Commit:768911c
Author:Abdullahi Yunus
Committer:Olaoluwa Osuntokun

lnd+lnrpc: update fwdinghistory message In this commit we update the returned message for fwdinghistory to include the htlcindex for all forwarded htlcs.

Commit:7a70dcb
Author:Boris Nagaev
Committer:Boris Nagaev

lnrpc: add auth_proof to graph APIs Added flag include_auth_proof to DescribeGraph, GetNodeInfo, GetChanInfo and the corresponding lncli commands. With the flag, these APIs add AuthProof (signatures from the channel announcement) to the returned ChannelEdge. This is useful to extract this data from the DB.

Commit:bfe1edf
Author:Shivam Chawla
Committer:Shivam Chawla

lnrpc: add filters to forwardhistoryrequest This commit adds incoming and outgoing channel ids filter to forwarding history request to filter events received/forwarded from/to a particular channel

Commit:a0634e4
Author:Abdullahi Yunus
Committer:Abdullahi Yunus

lnd+lnrpc: update fwdinghistory message In this commit we update the returned message for fwdinghistory to include the htlcindex for all forwarded htlcs.

Commit:4243a22
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc/routerrpc: add mc namespace param to: reset+import+query mc

Commit:ccfcbd7
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc: add mission_control_namespace field to SendPaymentRequest This commit adds a new optional mission_control_namespace field to the SendPaymentRequest RPC message. This field allows callers to specify a custom namespace for mission control, enabling different routing strategies and payment history isolation for different payment types. The namespace field is added as field number 26 in the SendPaymentRequest message. When not specified, the default mission control namespace will be used, maintaining backward compatibility.

Commit:795b46a
Author:MPins
Committer:MPins

lnrpc: add incoming chan list to BlindedPathConfig Add an option to the addinvoice rpc which allows to specify the blinded path via a list of chained channels.

Commit:94463c6
Author:yyforyongyu
Committer:yyforyongyu

walletrpc: add new field `MaturityHeight`

Commit:e9fc852
Author:Elle Mouton
Committer:Elle Mouton

lnrpc+rpcperms: add ctx metadata pairs to RPCMiddlewareRequest The MW interceptor works via a stream & sends requests to the interceptor via this stream. Sometimes, the interceptor might want to work with grpc metadata pairs that were sent via the context of the original request though and so in this commit, we ensure that for each request sent via the stream to the interceptr, the grpc metadata is sent along explicitly as well. This is done by adding a new `metadata_pairs` field to the RPCMiddlewareRequest proto message.

Commit:a62e410
Author:Andras Banki-Horvath
Committer:Andras Banki-Horvath

walletrpc: add custom lock ID and lock duration to FundPsbtRequest

Commit:bab5cab
Author:Oliver Gugger
Committer:Oliver Gugger

lnrpc+rpcserver: add custom channel data for closed channels This commit adds the custom channel data for closed channels which represents the initial funding state as well as the final balances at closing time.

Commit:c68716e
Author:Viktor Tigerström
Committer:Viktor Tigerström

lnrpc: add `AllowRemoteSigner` `WalletState` proto To accept incoming connections from the remote signer and use the remote signer stream for any required signatures on the watch-only node, we must allow the connection from the remote signer before any signatures are needed. Currently, we only allow requests through the `InterceptorChain` into the rpc-servers after the `WalletState` has been set to `RpcActive`. This status is only set once the main `RpcServer`, along with all sub-servers, have been fully started and populated with their dependencies. The problem is that we need signatures from the remote signer to create some of the dependencies for the sub-servers. Because of this, we need to let the remote signer connect before all dependencies are created. To enable this, we add a new `WalletState`, `AllowRemoteSigner`, which allows connection requests from a remote signer to pass through the `InterceptorChain` when the `AllowRemoteSigner` state is set. This state is set before the `RpcActive` state.

Commit:586216a
Author:Viktor Tigerström
Committer:Viktor Tigerström

walletrpc: add `SignCoordinatorStreams` RPC To enable an outbound remote signer to connect to the watch-only lnd node, we add a SignCoordinatorStreams bi-directional streaming RPC endpoint. The stream created when the remote signer connects to this endpoint can be used to pass any requests to the remote signer and to receive the corresponding responses. We clearly define the types of requests and responses that can be sent over the stream, including all the requests that can be sent to the remote signer with the previous implementation. Those are the ones sent to the `signrpc.SignerClient` and `walletrpc.WalletKitClient` in the `lnwallet/rpcwallet.go` file. We also include messages for the required handshake between the remote signer and the watch-only node, and a message that the remote signer can send if it encounters an error while processing a request.

Commit:0aea482
Author:Oliver Gugger
Committer:Oliver Gugger

multi: add testnet4 support

Commit:0892b59
Author:yyforyongyu
Committer:yyforyongyu

lnrpc+rpcserver: add new field `LockedIn` for HTLCs In this commit, we add a new field `LockedIn` on HTLCs so it can be used to decide whether an HTLC found on the local commitment has been committed on the remote commitment.

Commit:b32f576
Author:Olaoluwa Osuntokun
Committer:Olaoluwa Osuntokun

lnrpc: add fee rate and local close bool to PendingUpdate This'll allow us to notify the caller each time a new coop close transaction with a higher fee rate is signed.

Commit:1227eb1
Author:Oliver Gugger
Committer:GitHub

Merge pull request #9491 from ziggie1984/closechannel-rpc Allow coop closing a channel with HTLCs on it via lncli

Commit:59443fa
Author:ziggie
Committer:ziggie

multi: coop close with active HTLCs on the channel For the lncli cmd we now always initiate the coop close even if there are active HTLCs on the channel. In case HTLCs are on the channel and the coop close is initiated LND handles the closing flow in the background and the lncli cmd will block until the transaction is broadcasted to the mempool. In the background LND disallows any new HTLCs and waits until all HTLCs are resolved before kicking of the negotiation process. Moreover if active HTLCs are present and the no_wait param is not set the error msg is now highlightning it so the user can react accordingly.

Commit:0916f3e
Author:Boris Nagaev
Committer:Boris Nagaev

walletrpc: fix description of bumpfee.immediate It waits for the next block and sends CPFP even if there are no other inputs to form a batch.

Commit:bfea6e5
Author:ziggie
Committer:Olaoluwa Osuntokun

walletrpc: add new deadline-delta param to bumpfee rpc Add new parameter deadline-delta to the bumpfee request and only allow it to be used when the budget value is used as well.

Commit:34c4d12
Author:ziggie
Committer:ziggie

walletrpc: add new deadline-delta param to bumpfee rpc Add new parameter deadline-delta to the bumpfee request and only allow it to be used when the budget value is used as well.

Commit:8d3611a
Author:Mohamed Awnallah
Committer:Mohamed Awnallah

lnrpc: deprecate legacy RPCs In this commit, we deprecate `SendToRouteSync` and `SendPaymentSync` RPC endpoints.

Commit:61a5bbb
Author:Jesse de Wit
Committer:Oliver Gugger

lnrpc: add create_missing_edge flag

Commit:b577ad4
Author:Nishant Bansal
Committer:Nishant Bansal

routerrpc: default timeout_seconds to 60 in SendPaymentV2 If timeout_seconds is not set or is 0, the default value of 60 seconds will be used. Signed-off-by: Nishant Bansal <nishant.bansal.282003@gmail.com>

Commit:99f5ca4
Author:Keagan McClelland
Committer:Keagan McClelland

lnrpc add new RPC 'Quiesce' to protobuf definitions

Commit:94f7ed4
Author:Oliver Gugger
Committer:GitHub

Merge pull request #8998 from Abdulkbk/trx-pagination pagination: add pagination to wallet transactions

Commit:762d015
Author:Abdullahi Yunus
Committer:Abdullahi Yunus

multi: return txns first and last indices In this commit we introduce first and last indices for the tranasctions returned which can be used to seek for further transactions in a pagination style. Signed-off-by: Abdullahi Yunus <abdoollahikbk@gmail.com>

Commit:037db42
Author:Abdullahi Yunus
Committer:Abdullahi Yunus

lnrpc: modify gettransaction parameters This commit adds index_offset and max_transactions to the list of parameters passed during gettransactions call. index_offset specify transactions to skip and max_transactions the total transactions returned

Commit:f1299fd
Author:Jesse de Wit
Committer:Jesse de Wit

lnrpc: add create_missing_edge flag

Commit:7896bef
Author:Carla Kirk-Cohen
Committer:Carla Kirk-Cohen

htlcswitch: merge copy htlc custom records

Commit:d89ea2d
Author:Oliver Gugger

walletrpc: return meaningful responses instead of empty

Commit:45e13ce
Author:Oliver Gugger

lnrpc+rpcserver: return meaningful responses instead of empty

Commit:f2b7632
Author:George Tsagkarelis
Committer:George Tsagkarelis

lnrpc: add maxFeeRatio to FundPsbtRequest

Commit:fb8bdfe
Author:Oliver Gugger
Committer:Oliver Gugger

walletrpc: add sat_per_kw fee rate option To allow more precise fee rates, we add a sat_per_kw option to the fee oneof in the gRPC definition.

Commit:006026f
Author:Oliver Gugger
Committer:GitHub

Merge pull request #9215 from carlaKC/9166-docs routerrpc/trivial: add docs to forward interceptor