forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
lightningd: add listclosedchannels command.
Changelog-Added: JSON-RPC: `listclosedchannels` to show old, dead channels we previously had with peers. Signed-off-by: Rusty Russell <[email protected]>
- Loading branch information
1 parent
e75cf2e
commit 89f91b9
Showing
9 changed files
with
444 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
lightning-listclosedchannels -- Get data on our closed historical channels | ||
========================================================================== | ||
|
||
SYNOPSIS | ||
-------- | ||
|
||
**listclosedchannels** \[*id*\] | ||
|
||
DESCRIPTION | ||
----------- | ||
|
||
The **listclosedchannels** RPC command returns data on channels which | ||
are otherwise forgotten (more than 100 blocks after they're completely | ||
resolved onchain). | ||
|
||
If no *id* is supplied, then channel data on all historical channels are given. | ||
|
||
Supplying *id* will filter the results to only match channels to that peer. Note that prior to v23.05, old peers were forgotten. | ||
|
||
RETURN VALUE | ||
------------ | ||
|
||
[comment]: # (GENERATE-FROM-SCHEMA-START) | ||
On success, an object containing **closedchannels** is returned. It is an array of objects, where each object contains: | ||
|
||
- **channel\_id** (hash): The full channel\_id (funding txid Xored with output number) | ||
- **opener** (string): Who initiated the channel (one of "local", "remote") | ||
- **private** (boolean): if False, we will not announce this channel | ||
- **total\_local\_commitments** (u64): Number of commitment transaction we made | ||
- **total\_remote\_commitments** (u64): Number of commitment transaction they made | ||
- **total\_htlcs\_sent** (u64): Number of HTLCs we ever sent | ||
- **funding\_txid** (txid): ID of the funding transaction | ||
- **funding\_outnum** (u32): The 0-based output number of the funding transaction which opens the channel | ||
- **leased** (boolean): Whether this channel was leased from `opener` | ||
- **total\_msat** (msat): total amount in the channel | ||
- **final\_to\_us\_msat** (msat): Our balance in final commitment transaction | ||
- **min\_to\_us\_msat** (msat): Least amount owed to us ever. If the peer were to succesfully steal from us, this is the amount we would still retain. | ||
- **max\_to\_us\_msat** (msat): Most amount owed to us ever. If we were to successfully steal from the peer, this is the amount we could potentially get. | ||
- **close\_cause** (string): What caused the channel to close (one of "unknown", "local", "user", "remote", "protocol", "onchain") | ||
- **peer\_id** (pubkey, optional): Peer public key (can be missing with pre-v23.05 closes!) | ||
- **short\_channel\_id** (short\_channel\_id, optional): The short\_channel\_id | ||
- **alias** (object, optional): | ||
- **local** (short\_channel\_id, optional): An alias assigned by this node to this channel, used for outgoing payments | ||
- **remote** (short\_channel\_id, optional): An alias assigned by the remote node to this channel, usable in routehints and invoices | ||
- **closer** (string, optional): Who initiated the channel close (only present if closing) (one of "local", "remote") | ||
- **channel\_type** (object, optional): channel\_type as negotiated with peer: | ||
- **bits** (array of u32s): Each bit set in this channel\_type: | ||
- Bit number | ||
- **names** (array of strings): Feature name for each bit set in this channel\_type: | ||
- Name of feature bit (one of "static\_remotekey/even", "anchor\_outputs/even", "anchors\_zero\_fee\_htlc\_tx/even", "scid\_alias/even", "zeroconf/even") | ||
- **funding\_fee\_paid\_msat** (msat, optional): How much we paid to lease the channel (iff `leased` is true and `opener` is local) | ||
- **funding\_fee\_rcvd\_msat** (msat, optional): How much they paid to lease the channel (iff `leased` is true and `opener` is remote) | ||
- **funding\_pushed\_msat** (msat, optional): How much `opener` pushed immediate (if non-zero) | ||
- **last\_commitment\_txid** (hash, optional): The final commitment tx's txid (or mutual close, if we accepted it). Not present for some very old, small channels pre-0.7.0. | ||
- **last\_commitment\_fee\_msat** (msat, optional): The fee on `last_commitment_txid` | ||
|
||
[comment]: # (GENERATE-FROM-SCHEMA-END) | ||
|
||
On error the returned object will contain `code` and `message` properties, | ||
with `code` being one of the following: | ||
|
||
- -32602: If the given parameters are wrong. | ||
|
||
AUTHOR | ||
------ | ||
|
||
Rusty Russell <<[email protected]>>. | ||
|
||
SEE ALSO | ||
-------- | ||
|
||
lightning-listpeerchannels(7) | ||
|
||
RESOURCES | ||
--------- | ||
|
||
Main web site: <https://github.com/ElementsProject/lightning> Lightning | ||
|
||
[comment]: # ( SHA256STAMP:0c368cb41f46a2124e9b3f0b760494d1f4b9c3b248267f56b887fbf96f26e176) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"type": "object", | ||
"required": [], | ||
"additionalProperties": false, | ||
"added": "v23.05", | ||
"properties": { | ||
"id": { | ||
"type": "pubkey", | ||
"description": "If supplied, limits the channels to just the peer with the given ID, if it exists." | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,188 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"type": "object", | ||
"additionalProperties": false, | ||
"added": "v23.05", | ||
"required": [ | ||
"closedchannels" | ||
], | ||
"properties": { | ||
"closedchannels": { | ||
"type": "array", | ||
"items": { | ||
"type": "object", | ||
"additionalProperties": true, | ||
"required": [ | ||
"channel_id", | ||
"opener", | ||
"private", | ||
"total_msat", | ||
"total_local_commitments", | ||
"total_remote_commitments", | ||
"total_htlcs_sent", | ||
"funding_txid", | ||
"funding_outnum", | ||
"leased", | ||
"final_to_us_msat", | ||
"min_to_us_msat", | ||
"max_to_us_msat", | ||
"close_cause" | ||
], | ||
"properties": { | ||
"peer_id": { | ||
"type": "pubkey", | ||
"description": "Peer public key (can be missing with pre-v23.05 closes!)" | ||
}, | ||
"channel_id": { | ||
"type": "hash", | ||
"description": "The full channel_id (funding txid Xored with output number)" | ||
}, | ||
"short_channel_id": { | ||
"type": "short_channel_id", | ||
"description": "The short_channel_id" | ||
}, | ||
"alias": { | ||
"type": "object", | ||
"required": [], | ||
"properties": { | ||
"local": { | ||
"type": "short_channel_id", | ||
"description": "An alias assigned by this node to this channel, used for outgoing payments" | ||
}, | ||
"remote": { | ||
"type": "short_channel_id", | ||
"description": "An alias assigned by the remote node to this channel, usable in routehints and invoices" | ||
} | ||
} | ||
}, | ||
"opener": { | ||
"type": "string", | ||
"enum": [ | ||
"local", | ||
"remote" | ||
], | ||
"description": "Who initiated the channel" | ||
}, | ||
"closer": { | ||
"type": "string", | ||
"enum": [ | ||
"local", | ||
"remote" | ||
], | ||
"description": "Who initiated the channel close (only present if closing)" | ||
}, | ||
"private": { | ||
"type": "boolean", | ||
"description": "if False, we will not announce this channel" | ||
}, | ||
"channel_type": { | ||
"type": "object", | ||
"description": "channel_type as negotiated with peer", | ||
"additionalProperties": false, | ||
"required": [ | ||
"bits", | ||
"names" | ||
], | ||
"properties": { | ||
"bits": { | ||
"type": "array", | ||
"description": "Each bit set in this channel_type", | ||
"items": { | ||
"type": "u32", | ||
"description": "Bit number" | ||
} | ||
}, | ||
"names": { | ||
"type": "array", | ||
"description": "Feature name for each bit set in this channel_type", | ||
"items": { | ||
"type": "string", | ||
"enum": [ | ||
"static_remotekey/even", | ||
"anchor_outputs/even", | ||
"anchors_zero_fee_htlc_tx/even", | ||
"scid_alias/even", | ||
"zeroconf/even" | ||
], | ||
"description": "Name of feature bit" | ||
} | ||
} | ||
} | ||
}, | ||
"total_local_commitments": { | ||
"type": "u64", | ||
"description": "Number of commitment transaction we made" | ||
}, | ||
"total_remote_commitments": { | ||
"type": "u64", | ||
"description": "Number of commitment transaction they made" | ||
}, | ||
"total_htlcs_sent": { | ||
"type": "u64", | ||
"description": "Number of HTLCs we ever sent" | ||
}, | ||
"funding_txid": { | ||
"type": "txid", | ||
"description": "ID of the funding transaction" | ||
}, | ||
"funding_outnum": { | ||
"type": "u32", | ||
"description": "The 0-based output number of the funding transaction which opens the channel" | ||
}, | ||
"leased": { | ||
"type": "boolean", | ||
"description": "Whether this channel was leased from `opener`" | ||
}, | ||
"funding_fee_paid_msat": { | ||
"type": "msat", | ||
"description": "How much we paid to lease the channel (iff `leased` is true and `opener` is local)" | ||
}, | ||
"funding_fee_rcvd_msat": { | ||
"type": "msat", | ||
"description": "How much they paid to lease the channel (iff `leased` is true and `opener` is remote)" | ||
}, | ||
"funding_pushed_msat": { | ||
"type": "msat", | ||
"description": "How much `opener` pushed immediate (if non-zero)" | ||
}, | ||
"total_msat": { | ||
"type": "msat", | ||
"description": "total amount in the channel" | ||
}, | ||
"final_to_us_msat": { | ||
"type": "msat", | ||
"description": "Our balance in final commitment transaction" | ||
}, | ||
"min_to_us_msat": { | ||
"type": "msat", | ||
"description": "Least amount owed to us ever. If the peer were to succesfully steal from us, this is the amount we would still retain." | ||
}, | ||
"max_to_us_msat": { | ||
"type": "msat", | ||
"description": "Most amount owed to us ever. If we were to successfully steal from the peer, this is the amount we could potentially get." | ||
}, | ||
"last_commitment_txid": { | ||
"type": "hash", | ||
"description": "The final commitment tx's txid (or mutual close, if we accepted it). Not present for some very old, small channels pre-0.7.0." | ||
}, | ||
"last_commitment_fee_msat": { | ||
"type": "msat", | ||
"description": "The fee on `last_commitment_txid`" | ||
}, | ||
"close_cause": { | ||
"type": "string", | ||
"enum": [ | ||
"unknown", | ||
"local", | ||
"user", | ||
"remote", | ||
"protocol", | ||
"onchain" | ||
], | ||
"description": "What caused the channel to close" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.