lnrpc+rpcserver: enable abandonchannel for externally funded chans

To make sure we can use the abandonchannel RPC for getting rid of
externally funded channels who's funding transaction was never
published, we allow the RPC to be used on non-dev builds for externally
funded and pending channels only.
This commit is contained in:
Oliver Gugger committed 2020-08-28 12:28:58 +02:00
1 parent f2e0ed19ff
commit 3caca4fa3f
4 files changed
+790 -751

No files matched your search

+758 -745
View File
File diff suppressed because it is too large. Load diff
+6 -2
View File
@@ -235,8 +235,10 @@ service Lightning {
/* lncli: `abandonchannel`
AbandonChannel removes all channel state from the database except for a
close summary. This method can be used to get rid of permanently unusable
channels due to bugs fixed in newer versions of lnd. Only available
when in debug builds of lnd.
channels due to bugs fixed in newer versions of lnd. This method can also be
used to remove externally funded channels where the funding transaction was
never broadcast. Only available for non-externally funded channels in dev
build.
*/
rpc AbandonChannel (AbandonChannelRequest) returns (AbandonChannelResponse);
@@ -3058,6 +3060,8 @@ message DeleteAllPaymentsResponse {
message AbandonChannelRequest {
ChannelPoint channel_point = 1;
bool pending_funding_shim_only = 2;
}
message AbandonChannelResponse {
+8 -1
View File
@@ -151,7 +151,7 @@
},
"/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}": {
"delete": {
"summary": "lncli: `abandonchannel`\nAbandonChannel removes all channel state from the database except for a\nclose summary. This method can be used to get rid of permanently unusable\nchannels due to bugs fixed in newer versions of lnd. Only available\nwhen in debug builds of lnd.",
"summary": "lncli: `abandonchannel`\nAbandonChannel removes all channel state from the database except for a\nclose summary. This method can be used to get rid of permanently unusable\nchannels due to bugs fixed in newer versions of lnd. This method can also be\nused to remove externally funded channels where the funding transaction was\nnever broadcast. Only available for non-externally funded channels in dev\nbuild.",
"operationId": "AbandonChannel",
"responses": {
"200": {
@@ -190,6 +190,13 @@
"required": false,
"type": "string",
"format": "byte"
},
{
"name": "pending_funding_shim_only",
"in": "query",
"required": false,
"type": "boolean",
"format": "boolean"
}
],
"tags": [