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.
This commit is contained in:
Boris Nagaev committed 2025-06-19 18:19:33 -03:00
1 parent 40efefeb6a
commit 7a70dcb36e
6 files changed
+2689 -2365

No files matched your search

+30
View File
@@ -106,6 +106,32 @@
}
}
},
"lnrpcChannelAuthProof": {
"type": "object",
"properties": {
"node_sig1": {
"type": "string",
"format": "byte",
"description": "node_sig1 are the raw bytes of the first node signature encoded\nin DER format."
},
"bitcoin_sig1": {
"type": "string",
"format": "byte",
"description": "bitcoin_sig1 are the raw bytes of the first bitcoin signature of the\nMultiSigKey key of the channel encoded in DER format."
},
"node_sig2": {
"type": "string",
"format": "byte",
"description": "node_sig2 are the raw bytes of the second node signature encoded\nin DER format."
},
"bitcoin_sig2": {
"type": "string",
"format": "byte",
"description": "bitcoin_sig2 are the raw bytes of the second bitcoin signature of the\nMultiSigKey key of the channel encoded in DER format."
}
},
"description": "ChannelAuthProof is the authentication proof (the signature portion) for a\nchannel. Using the four signatures contained in the struct, and some\nauxiliary knowledge (the funding script, node identities, and outpoint) nodes\non the network are able to validate the authenticity and existence of a\nchannel."
},
"lnrpcChannelEdge": {
"type": "object",
"properties": {
@@ -144,6 +170,10 @@
"format": "byte"
},
"description": "Custom channel announcement tlv records."
},
"auth_proof": {
"$ref": "#/definitions/lnrpcChannelAuthProof",
"description": "Authentication proof for this channel. This proof contains a set of\nsignatures binding four identities, which attests to the legitimacy of\nthe advertised channel. This only is available for advertised channels.\nThis field is not filled by default. Pass include_auth_proof flag to\nDescribeGraph, GetNodeInfo or GetChanInfo to get this data."
}
},
"description": "A fully authenticated channel along with all its unique attributes.\nOnce an authenticated channel announcement has been processed on the network,\nthen an instance of ChannelEdgeInfo encapsulating the channels attributes is\nstored. The other portions relevant to routing policy of a channel are stored\nwithin a ChannelEdgePolicy for each direction of the channel."