mirror of
https://github.com/aljazceru/lightning.git
synced 2026-02-04 05:34:22 +01:00
lightningd: add listclosedchannels command.
Changelog-Added: JSON-RPC: `listclosedchannels` to show old, dead channels we previously had with peers. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -52,6 +52,7 @@ MANPAGES := doc/lightning-cli.1 \
|
||||
doc/lightning-invoicerequest.7 \
|
||||
doc/lightning-keysend.7 \
|
||||
doc/lightning-listchannels.7 \
|
||||
doc/lightning-listclosedchannels.7 \
|
||||
doc/lightning-listdatastore.7 \
|
||||
doc/lightning-listforwards.7 \
|
||||
doc/lightning-listfunds.7 \
|
||||
|
||||
@@ -78,6 +78,7 @@ Core Lightning Documentation
|
||||
lightning-invoicerequest <lightning-invoicerequest.7.md>
|
||||
lightning-keysend <lightning-keysend.7.md>
|
||||
lightning-listchannels <lightning-listchannels.7.md>
|
||||
lightning-listclosedchannels <lightning-listclosedchannels.7.md>
|
||||
lightning-listconfigs <lightning-listconfigs.7.md>
|
||||
lightning-listdatastore <lightning-listdatastore.7.md>
|
||||
lightning-listforwards <lightning-listforwards.7.md>
|
||||
|
||||
79
doc/lightning-listclosedchannels.7.md
Normal file
79
doc/lightning-listclosedchannels.7.md
Normal file
@@ -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 <<rusty@blockstream.com>>.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
lightning-listpeerchannels(7)
|
||||
|
||||
RESOURCES
|
||||
---------
|
||||
|
||||
Main web site: <https://github.com/ElementsProject/lightning> Lightning
|
||||
|
||||
[comment]: # ( SHA256STAMP:0c368cb41f46a2124e9b3f0b760494d1f4b9c3b248267f56b887fbf96f26e176)
|
||||
13
doc/schemas/listclosedchannels.request.json
Normal file
13
doc/schemas/listclosedchannels.request.json
Normal file
@@ -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."
|
||||
}
|
||||
}
|
||||
}
|
||||
188
doc/schemas/listclosedchannels.schema.json
Normal file
188
doc/schemas/listclosedchannels.schema.json
Normal file
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user